Jitsi Meet - Failed to access your camera/microphone

meet

#1

I followed the steps for Quick Install and setup jitsi-meet and videobridge and the other components on a fresh install of Debian 9. Since Jitsi Meet is going to be used on a local LAN, I removed the sections pertaining to SSL encryption and setup the Jitsi config in the non-encrypted (port 80) VirtualHost for apache2. Switching the config from the port 443 VirtualHost to the port 80 one.

<VirtualHost *:80>
ServerName 14.139.181.60
ServerAlias 172.16.0.50
DocumentRoot “/usr/share/jitsi-meet”
<Directory “/usr/share/jitsi-meet”>
Options Indexes MultiViews Includes FollowSymLinks
AddOutputFilter Includes html
AllowOverride All
Order allow,deny
Allow from all

Alias “/config.js” “/etc/jitsi/meet/14.139.181.60-config.js”
<Location /config.js>
Require all granted

ProxyPreserveHost on
ProxyPass /http-bind thelink
ProxyPassReverse /http-bind thelink

RewriteEngine on
RewriteRule ^/([a-zA-Z0-9]+)$ /index.html

When I connect to the Jitsi Meet instance on my machine, it asks me for permission to use the camera and microphone and then logs me in to the room. I am running Ubuntu 18.04 and Firefox 65.0.1. But it appears that on every other system that I have tried, Windows, Ubuntu 14.0, Mac Airbook, using Firefox and Chrome, I get the following error: “Failed to access your camera” and “Failed to access your microphone”.

This is what I see in the console:
[modules/browser/BrowserCapabilities.js] <new t>: This appears to be chrome, ver: 71.0

Logger.js:125 [react/index.web.js] <HTMLDocument.<anonymous>>: (TIME) document ready: 955.3999999770895

Logger.js:125 [react/features/base/storage/PersistenceRegistry.js] <e.value>: redux state rehydrated as Object

Logger.js:125 [modules/UI/videolayout/VideoLayout.js] <Object.changeUserAvatar>: Missed avatar update - no small video yet for undefined

o @ Logger.js:125

Logger.js:125 [JitsiMeetJS.js] <Object.init>: Analytics disabled, disposing.

i @ Logger.js:125

Logger.js:125 [modules/statistics/AnalyticsAdapter.js] <e.value>: Disposing of analytics adapter.

i @ Logger.js:125

Logger.js:125 [modules/RTC/ScreenObtainer.js] <Object.init>: Desktop sharing disabled

Logger.js:125 [react/features/base/media/middleware.js] <>: Start muted:

Logger.js:125 [react/features/base/media/middleware.js] <>: Start audio only set to false

Logger.js:125 [react/features/base/conference/middleware.js] <>: Audio-only disabled

Logger.js:125 [modules/RTC/RTCUtils.js] <t.value>: Using the new gUM flow

Logger.js:125 [modules/xmpp/xmpp.js] <t.value>: P2P STUN servers: Array(3)

Logger.js:125 [modules/xmpp/xmpp.js] <t.value>: Lip-sync enabled !

Logger.js:125 [modules/xmpp/xmpp.js] <t.value>: (TIME) Strophe connecting: 1232.1000000229105

Logger.js:125 [modules/RTC/RTCUtils.js] <t.<anonymous>>: Got media constraints: Object

getusermedia.js:212 [Deprecation] getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See <only-two-links-per-post> for more details.

(anonymous) @ getusermedia.js:212

Logger.js:125 [modules/RTC/RTCUtils.js] <>: Failed to get access to local media. NotSupportedError: Only secure origins are allowed (see:). [object Object]

i @ Logger.js:125

Logger.js:125 [react/features/base/tracks/functions.js] <>: Failed to create local tracks Array(2) a

o @ Logger.js:125

Logger.js:125 [modules/RTC/RTCUtils.js] <t.value>: Using the new gUM flow

Logger.js:125 [modules/RTC/RTCUtils.js] <t.<anonymous>>: Got media constraints: Object

Logger.js:125 [modules/RTC/RTCUtils.js] <>: Failed to get access to local media. NotSupportedError: Only secure origins are allowed (see: ). [object Object]

i @ Logger.js:125

Logger.js:125 [react/features/base/tracks/functions.js] <>: Failed to create local tracks Array(1) a

o @ Logger.js:125

Logger.js:125 [modules/RTC/RTCUtils.js] <t.value>: Using the new gUM flow

Logger.js:125 [modules/RTC/RTCUtils.js] <t.<anonymous>>: Got media constraints: Object

Logger.js:125 [modules/RTC/RTCUtils.js] <>: Failed to get access to local media. NotSupportedError: Only secure origins are allowed (see: ). [object Object]

i @ Logger.js:125

Logger.js:125 [react/features/base/tracks/functions.js] <>: Failed to create local tracks Array(1) a

o @ Logger.js:125

Logger.js:125 [modules/xmpp/xmpp.js] <t.value>: (TIME) Strophe connected: 1969.0000000409782

Logger.js:125 [modules/xmpp/xmpp.js] <t.value>: My Jabber ID: 6fe16ab8-4752-47fa-90c3-13d6e13212c3@14.139.181.60/4782eb5f-5a49-49ca-931c-d2d0517f1827

Logger.js:125 [conference.js] <>: initialized with 0 local tracks

Logger.js:125 [modules/xmpp/ChatRoom.js] <new t>: Joined MUC as rekha@conference.14.139.181.60/6fe16ab8

Logger.js:125 [modules/e2eping/e2eping.js] <new e>: Initializing e2e ping; pingInterval=10000, analyticsInterval=60000.

Logger.js:125 [modules/connectivity/ParticipantConnectionStatus.js] <new e>: RtcMuteTimeout set to: 2000

Logger.js:125 [modules/statistics/AvgRTPStatsReporter.js] <new e>: Avg RTP stats will be calculated every 15 samples

Logger.js:125 [JitsiConference.js] <new X>: backToP2PDelay: 5

Logger.js:125 [modules/UI/videolayout/VideoLayout.js] <Object.electLastVisibleVideo>: Last visible video no longer exists

Logger.js:125 [modules/UI/videolayout/VideoLayout.js] <Object.electLastVisibleVideo>: Fallback to local video…

Logger.js:125 [modules/UI/videolayout/VideoLayout.js] <Object.electLastVisibleVideo>: electLastVisibleVideo: 6fe16ab8

Logger.js:125 [modules/xmpp/moderator.js] <d.setFocusUserJid>: Focus jid set to: undefined

Logger.js:125 [modules/xmpp/moderator.js] <d.createConferenceIq>: Session ID: null machine UID: e8b36327d94743e7dce31fdae9ec7bd8

Logger.js:125 [modules/xmpp/strophe.ping.js] <s.value>: XMPP pings will be sent every 10000 ms

Logger.js:125 [modules/xmpp/moderator.js] <d.setFocusUserJid>: Focus jid set to: focus@auth.14.139.181.60

Logger.js:125 [modules/xmpp/moderator.js] <d.parseConfigOptions>: Authentication enabled: false

Logger.js:125 [modules/xmpp/moderator.js] <d.parseConfigOptions>: External authentication enabled: false

Logger.js:125 [modules/xmpp/moderator.js] <d.parseConfigOptions>: Sip gateway enabled: false

Logger.js:125 [modules/xmpp/ChatRoom.js] <t.value>: entered rekha@conference.14.139.181.60/focus Object

Logger.js:125 [modules/xmpp/ChatRoom.js] <t.value>: Ignore focus: rekha@conference.14.139.181.60/focus, real JID: focus@auth.14.139.181.60/focus174666346542875

Logger.js:125 [modules/version/ComponentsVersions.js] <>: Got xmpp version: Prosody(0.9.12,Linux)

Logger.js:125 [modules/version/ComponentsVersions.js] <>: Got focus version: JiCoFo(1.0.1.0-458,Linux)

Logger.js:125 [conference.js] <r.<anonymous>>: My role changed, new role: none

Logger.js:125 [modules/xmpp/ChatRoom.js] <t.value>: (TIME) MUC joined: 2247.499999939464

Logger.js:125 [conference.js] <r.<anonymous>>: My role changed, new role: moderator

Logger.js:125 [modules/UI/videolayout/LargeVideoManager.js] <>: hover in %s 6fe16ab8

Logger.js:125 [react/features/base/storage/PersistenceRegistry.js] <e.value>: redux state persisted. cc5e33754df48e3313b55696579bbf25 -> 84ed451ac957b0099400a5d958403753

Does anyone have any ideas on what I could try or what the issue might be?

Thanks,
arun


#2

To be able to use a webrtc app, not just jitsi-meet running the app under https is a requirement. You will not be able to acquire camera or microphone using http, this is a browser requirement.


#3

Thanks for your help @damencho . I’ve now setup SSL and I’m being asked for permission to access camera and microphone, but when I grant permission, I’m unable to view the remote video, or hear the remote audio. I can see the other person in the room, but clicking on their icon only brings up their profile image, no audio/video.

Here is the console logs from Firefox:
(TIME) index.html loaded: 369 rekha:18:9
[modules/browser/BrowserCapabilities.js] : This appears to be firefox, ver: 65.0 Logger.js:124:12
[react/index.web.js] <>: (TIME) document ready: 1062 Logger.js:124
[react/features/base/storage/PersistenceRegistry.js] : redux state rehydrated as
Object { “features/base/settings”: {…}, “features/dropbox”: {}, “features/recent-list”: (2) […], “features/welcome”: {}, “features/video-layout”: {}, “features/base/known-domains”: (3) […] }
Logger.js:124
[modules/UI/videolayout/VideoLayout.js] : Missed avatar update - no small video yet for undefined Logger.js:124
[JitsiMeetJS.js] : Analytics disabled, disposing. Logger.js:124:12
[modules/statistics/AnalyticsAdapter.js] : Disposing of analytics adapter. Logger.js:124:12
[react/features/base/media/middleware.js] <>: Start muted: Logger.js:124
[react/features/base/media/middleware.js] <>: Start audio only set to false Logger.js:124
[react/features/base/conference/middleware.js] <>: Audio-only disabled Logger.js:124
[modules/RTC/RTCUtils.js] : Using the new gUM flow Logger.js:124:12
[modules/xmpp/xmpp.js] : P2P STUN servers:
Array(3) [ {…}, {…}, {…} ]
Logger.js:124:12
[modules/xmpp/xmpp.js] : (TIME) Strophe connecting: 1534 Logger.js:124:12
[modules/RTC/RTCUtils.js] <value/i<>: Got media constraints:
Object { video: {…}, audio: {…} }
Logger.js:124:12
[modules/RTC/RTCUtils.js] <value/<>: Available devices:
Array(3) [ MediaDeviceInfo, MediaDeviceInfo, MediaDeviceInfo ]
Logger.js:124:12
[modules/xmpp/xmpp.js] : (TIME) Strophe connected: 2641 Logger.js:124:12
[modules/xmpp/xmpp.js] : My Jabber ID: 42dc0bf8-a480-4381-b841-180b4070062f@14.139.181.60/11248eca-fb80-4be9-b264-ac4994eade3e Logger.js:124:12
[modules/xmpp/strophe.ping.js] : XMPP pings will be sent every 10000 ms Logger.js:124:12
[react/features/base/storage/PersistenceRegistry.js] : redux state persisted. 7db3b76c8a092ad44b1a09ce7f1c47f7 -> bd8f468419e9c01e89900564cd9d596d Logger.js:124
[modules/RTC/RTCUtils.js] <value/</<>: onUserMediaSuccess Logger.js:124:12
[modules/RTC/JitsiLocalTrack.js] : Setting new MSID: {a5422f6b-943e-46cf-84c8-d6d1447ab903} {c2875a2b-3b12-4ad3-8a8a-f38c5c9deccf} on LocalTrack[undefined,audio] Logger.js:124:12
[modules/RTC/JitsiLocalTrack.js] : Setting new MSID: {0d935d06-febc-4298-b1ed-1b7351f66713} {4bb47e7a-ffb3-47fb-bbed-a7370a91e06f} on LocalTrack[undefined,video] Logger.js:124:12
[conference.js] <init/<>: initialized with 2 local tracks Logger.js:124
[modules/xmpp/ChatRoom.js] : Joined MUC as rekha@conference.14.139.181.60/42dc0bf8 Logger.js:124:12
[modules/e2eping/e2eping.js] : Initializing e2e ping; pingInterval=10000, analyticsInterval=60000. Logger.js:124:12
[modules/connectivity/ParticipantConnectionStatus.js] : RtcMuteTimeout set to: 2000 Logger.js:124:12
[modules/statistics/AvgRTPStatsReporter.js] : Avg RTP stats will be calculated every 15 samples Logger.js:124:12
[JitsiConference.js] : backToP2PDelay: 5 Logger.js:124:12
[modules/videosipgw/VideoSIPGW.js] : creating VideoSIPGW Logger.js:124:12
[modules/UI/videolayout/VideoLayout.js] : Last visible video no longer exists Logger.js:124
[modules/UI/videolayout/VideoLayout.js] : Fallback to local video… Logger.js:124
[modules/UI/videolayout/VideoLayout.js] : electLastVisibleVideo: 42dc0bf8 Logger.js:124
[JitsiConference.js] <X.prototype._doReplaceTrack>: _doReplaceTrack - no JVB JingleSession Logger.js:124:12
[JitsiConference.js] <X.prototype._doReplaceTrack>: _doReplaceTrack - no P2P JingleSession Logger.js:124:12
[JitsiConference.js] <X.prototype._doReplaceTrack>: _doReplaceTrack - no JVB JingleSession Logger.js:124:12
[JitsiConference.js] <X.prototype._doReplaceTrack>: _doReplaceTrack - no P2P JingleSession Logger.js:124:12
[modules/remotecontrol/RemoteControl.js] : Initializing remote control. Logger.js:124
[modules/xmpp/moderator.js] <d.prototype.setFocusUserJid>: Focus jid set to: undefined Logger.js:124:12
[modules/xmpp/moderator.js] <d.prototype.createConferenceIq>: Session ID: null machine UID: 56a561c5e311424d60146e8a93b98284 Logger.js:124:12
[react/features/base/tracks/actions.js] <p/</</<>: Replace audio track - unmuted Logger.js:124
[react/features/base/tracks/actions.js] <p/</</<>: Replace video track - unmuted Logger.js:124
[conference.js] : Microphone button enabled: true local audio: LocalTrack[1,audio] audio devices: device count: 0 Logger.js:124
[conference.js] : Camera button enabled: true local video: LocalTrack[2,video] video devices: device count: 0 Logger.js:124
[modules/xmpp/moderator.js] <d.prototype.setFocusUserJid>: Focus jid set to: focus@auth.14.139.181.60 Logger.js:124:12
[modules/xmpp/moderator.js] <d.prototype.parseConfigOptions>: Authentication enabled: false Logger.js:124:12
[modules/xmpp/moderator.js] <d.prototype.parseConfigOptions>: External authentication enabled: false Logger.js:124:12
[modules/xmpp/moderator.js] <d.prototype.parseConfigOptions>: Sip gateway enabled: false Logger.js:124:12
[conference.js] : Microphone button enabled: true local audio: LocalTrack[1,audio] audio devices: [object MediaDeviceInfo],[object MediaDeviceInfo] device count: 2 Logger.js:124
[conference.js] : Camera button enabled: true local video: LocalTrack[2,video] video devices: [object MediaDeviceInfo] device count: 1 Logger.js:124
[modules/xmpp/ChatRoom.js] : entered rekha@conference.14.139.181.60/focus
Object { affiliation: “owner”, role: “moderator”, jid: “focus@auth.14.139.181.60/focus174666346542875”, isFocus: true, isHiddenDomain: false }
Logger.js:124:12
[modules/xmpp/ChatRoom.js] : Ignore focus: rekha@conference.14.139.181.60/focus, real JID: focus@auth.14.139.181.60/focus174666346542875 Logger.js:124:12
[modules/version/ComponentsVersions.js] <o.prototype.processPresence/<>: Got xmpp version: Prosody(0.9.12,Linux) Logger.js:124:12
[modules/version/ComponentsVersions.js] <o.prototype.processPresence/<>: Got focus version: JiCoFo(1.0.1.0-458,Linux) Logger.js:124:12
[conference.js] <_setupListeners/<>: My role changed, new role: none Logger.js:124
[JitsiConference.js] <X.prototype._maybeStartOrStopP2P>: Auto P2P disabled Logger.js:124:12
[modules/xmpp/ChatRoom.js] : (TIME) MUC joined: 4015 Logger.js:124:12
[conference.js] : Camera button enabled: true local video: LocalTrack[2,video] video devices: [object MediaDeviceInfo] device count: 1 Logger.js:124
[conference.js] <_setupListeners/<>: My role changed, new role: moderator Logger.js:124
[JitsiConference.js] <X.prototype._maybeStartOrStopP2P>: Auto P2P disabled Logger.js:124:12
[modules/UI/videolayout/LargeVideoManager.js] <value/<>: hover in %s 42dc0bf8 Logger.js:124
[react/features/base/storage/PersistenceRegistry.js] : redux state persisted. bd8f468419e9c01e89900564cd9d596d -> 546bca211126d50877d4dc578434d27c Logger.js:124
[modules/xmpp/ChatRoom.js] : entered rekha@conference.14.139.181.60/bdbadad5
Object { affiliation: “none”, role: “participant”, jid: "bdbadad5-b01d-4c65-9ce4-02a3cb873ead@14.139.181.60/b6b26bc9-2979-4e94-9480-cb36ffd282dd", isFocus: false, isHiddenDomain: false, nick: “me” }
Logger.js:124:12
[modules/UI/videolayout/RemoteVideo.js] <v.prototype.updateConnectionStatusIndicator>: bdbadad5 thumbnail connection status: active
Logger.js:124
[conference.js] <_setupListeners/<>: USER bdbadad5 connnected:
Object { _jid: “rekha@conference.14.139.181.60/bdbadad5”, _id: “bdbadad5”, _conference: {…}, _displayName: “me”, _supportsDTMF: false, _tracks: , _role: “participant”, _status: undefined, _hidden: false, _statsID: undefined, … }
Logger.js:124
[JitsiConference.js] <X.prototype._maybeStartOrStopP2P>: Auto P2P disabled Logger.js:124:12
[modules/xmpp/ChatRoom.js] : Ignore focus: rekha@conference.14.139.181.60/focus, real JID: focus@auth.14.139.181.60/focus174666346542875
Logger.js:124:12
[modules/version/ComponentsVersions.js] <o.prototype.processPresence/<>: Got videobridge version: JVB(0.1.1109,Linux) Logger.js:124:12
[modules/xmpp/strophe.jingle.js] : on jingle session-initiate from rekha@conference.14.139.181.60/focus

Logger.js:124:12
[modules/xmpp/strophe.jingle.js] : (TIME) received session-initiate: 56932 Logger.js:124:12
[modules/xmpp/strophe.jingle.js] : Marking session from rekha@conference.14.139.181.60/focus as not P2P Logger.js:124:12
SdpSimulcast: using 3 layers index.js:44:4
[modules/RTC/TraceablePeerConnection.js] : Create new TPC[1,p2p:false] Logger.js:124:12
[modules/RTC/BridgeChannel.js] : constructor() with peerconnection Logger.js:124:12
[JitsiConference.js] <X.prototype._acceptJvbIncomingCall>: Starting CallStats for JVB connection… Logger.js:124:12
onaddstream is deprecated! Use peerConnection.ontrack instead. lib-jitsi-meet.min.js:40
[modules/RTC/TraceablePeerConnection.js] <w.prototype.addTrack>: add LocalTrack[1,audio] to: TPC[1,p2p:false] Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype.addTrack>: add LocalTrack[2,video] to: TPC[1,p2p:false] Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : Renegotiate: setting remote description Logger.js:124:12
Halt: There are no SSRC groups in the remote description. index.js:146:8
[modules/xmpp/RtxModifier.js] : RtxModifier doing nothing, no video ssrcGroups present Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype._remoteStreamAdded>: TPC[1,p2p:false] ignored remote ‘stream added’ event for non-user streamid: mixedmslabel Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/<>: Renegotiate: creating answer Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype._processLocalSSRCsMap>: Storing new local SSRC for LocalTrack[1,audio] in TPC[1,p2p:false]
Object { ssrcs: (1) […], groups: , msid: “{a5422f6b-943e-46cf-84c8-d6d1447ab903} {c2875a2b-3b12-4ad3-8a8a-f38c5c9deccf}” }
Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype._processLocalSSRCsMap>: Storing new local SSRC for LocalTrack[2,video] in TPC[1,p2p:false]
Object { ssrcs: (1) […], groups: , msid: “{0d935d06-febc-4298-b1ed-1b7351f66713} {4bb47e7a-ffb3-47fb-bbed-a7370a91e06f}” }
Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/</<>: Renegotiate: setting local description Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : Sending session-accept

Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/this.peerconnection.oniceconnectionstatechange>: (TIME) ICE checking P2P? false: 57869 Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : sendIceCandidate: last candidate. Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : sendIceCandidates
Array [ RTCIceCandidate, RTCIceCandidate ]
Logger.js:124:12
[modules/xmpp/strophe.jingle.js] : on jingle source-add from rekha@conference.14.139.181.60/focus

Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/<>: Processing addRemoteStream Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/<>: ICE connection state: checking Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : Renegotiate: setting remote description Logger.js:124:12
Imploding SIM group: 3809356773 2756659971 69719671 index.js:159:8
[modules/RTC/TraceablePeerConnection.js] <w.prototype._remoteTrackAdded>: TPC[1,p2p:false] remote track added: 7d7359de-38b8-4843-8630-3cca41cb60c6-1 audio Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype._remoteTrackAdded>: TPC[1,p2p:false] associated ssrc bdbadad5 1293065212 Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype._remoteTrackAdded>: TPC[1,p2p:false] remote track added: 5490c8d4-1110-48ff-8b22-29ef00e2b120-1 video Logger.js:124:12
[modules/RTC/TraceablePeerConnection.js] <w.prototype._remoteTrackAdded>: TPC[1,p2p:false] associated ssrc bdbadad5 3809356773 Logger.js:124:12
[modules/UI/videolayout/RemoteVideo.js] <v.prototype.updateConnectionStatusIndicator>: bdbadad5 thumbnail connection status: active Logger.js:124
[modules/xmpp/JingleSessionPC.js] <value/<>: Renegotiate: creating answer Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/</<>: Renegotiate: setting local description Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/</<>: addRemoteStream - OK, SDPs:
Object { media: (3) […], raw: “v=0\r\no=mozilla…THIS_IS_SDPARTA-65.0.1 3701791875734340368 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=sendrecv\r\na=fingerprint:sha-256 4F:76:47:8B:55:F2:A1:76:AB:1C:34:26:41:D6:44:3B:63:64:9D:29:4E:39:9B:CF:9B:6E:B6:D8:27:4A:78:D1\r\na=ice-options:trickle\r\na=msid-semantic: WMS *\r\na=group:BUNDLE audio video data\r\nm=audio 37921 RTP/SAVPF 111 126\r\nc=IN IP4 192.168.0.108\r\na=rtpmap:111 opus/48000/2\r\na=rtpmap:126 telephone-event/8000\r\na=fmtp:111 maxplaybackrate=48000;stereo=1;useinbandfec=1\r\na=fmtp:126 0-15\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=setup:active\r\na=mid:audio\r\na=sendrecv\r\na=ice-ufrag:aa1bc3a2\r\na=ice-pwd:89f37d993c85fbb3ed898a3bf86511c7\r\na=candidate:0 1 UDP 2122252543 192.168.0.108 37921 typ host\r\na=candidate:1 1 TCP 2105524479 192.168.0.108 9 typ host tcptype active\r\na=end-of-candidates\r\na=ssrc:2643953728 cname:{4f0c9f3c-42d1-49c2-813c-668a5540b678}-1\r\na=ssrc:2643953728 msid:{a5422f6b-943e-46cf-84c8-d6d1447ab903}-1 {c2875a2b-3b12-4ad3-8a8a-f38c5c9deccf}-1\r\na=rtcp-mux\r\nm=video 37921 RTP/SAVPF 100\r\nc=IN IP4 192.168.0.108\r\na=rtpmap:100 VP8/90000\r\na=fmtp:100 max-fs=12288;max-fr=60\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 ccm fir\r\na=extmap:3 r\na=setup:active\r\na=mid:video\r\na=sendrecv\r\na=ice-ufrag:aa1bc3a2\r\na=ice-pwd:89f37d993c85fbb3ed898a3bf86511c7\r\na=ssrc:2927015699 cname:{4f0c9f3c-42d1-49c2-813c-668a5540b678}-1\r\na=ssrc:2927015699 msid:{0d935d06-febc-4298-b1ed-1b7351f66713}-1 {4bb47e7a-ffb3-47fb-bbed-a7370a91e06f}-1\r\na=rtcp-mux\r\nm=application 37921 DTLS/SCTP 5000\r\nc=IN IP4 192.168.0.108\r\na=setup:active\r\na=mid:data\r\na=sendrecv\r\na=ice-ufrag:aa1bc3a2\r\na=ice-pwd:89f37d993c85fbb3ed898a3bf86511c7\r\na=rtcp-mux\r\na=sctpmap:5000 webrtc-datachannel 256\r\na=max-message-size:1073741823\r\n”, session: “v=0\r\no=mozilla…THIS_IS_SDPARTA-65.0.1 3701791875734340368 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=sendrecv\r\na=fingerprint:sha-256 4F:76:47:8B:55:F2:A1:76:AB:1C:34:26:41:D6:44:3B:63:64:9D:29:4E:39:9B:CF:9B:6E:B6:D8:27:4A:78:D1\r\na=ice-options:trickle\r\na=msid-semantic: WMS *\r\na=group:BUNDLE audio video data\r\n” }

Object { media: (3) […], raw: “v=0\r\no=mozilla…THIS_IS_SDPARTA-65.0.1 3701791875734340368 1 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=sendrecv\r\na=fingerprint:sha-256 4F:76:47:8B:55:F2:A1:76:AB:1C:34:26:41:D6:44:3B:63:64:9D:29:4E:39:9B:CF:9B:6E:B6:D8:27:4A:78:D1\r\na=ice-options:trickle\r\na=msid-semantic: WMS *\r\na=group:BUNDLE audio video data\r\nm=audio 37921 RTP/SAVPF 111 126\r\nc=IN IP4 192.168.0.108\r\na=rtpmap:111 opus/48000/2\r\na=rtpmap:126 telephone-event/8000\r\na=fmtp:111 maxplaybackrate=48000;stereo=1;useinbandfec=1\r\na=fmtp:126 0-15\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=setup:active\r\na=mid:audio\r\na=sendrecv\r\na=ice-ufrag:aa1bc3a2\r\na=ice-pwd:89f37d993c85fbb3ed898a3bf86511c7\r\na=candidate:0 1 UDP 2122252543 192.168.0.108 37921 typ host\r\na=candidate:1 1 TCP 2105524479 192.168.0.108 9 typ host tcptype active\r\na=ssrc:2643953728 cname:{4f0c9f3c-42d1-49c2-813c-668a5540b678}-1\r\na=ssrc:2643953728 msid:{a5422f6b-943e-46cf-84c8-d6d1447ab903}-1 {c2875a2b-3b12-4ad3-8a8a-f38c5c9deccf}-1\r\na=ssrc:2796540759 cname:{4f0c9f3c-42d1-49c2-813c-668a5540b678}-1\r\na=rtcp-mux\r\nm=video 9 RTP/SAVPF 100\r\nc=IN IP4 0.0.0.0\r\na=rtpmap:100 VP8/90000\r\na=fmtp:100 max-fs=12288;max-fr=60\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 ccm fir\r\na=extmap:3 \r\na=setup:active\r\na=mid:video\r\na=sendrecv\r\na=ice-ufrag:aa1bc3a2\r\na=ice-pwd:89f37d993c85fbb3ed898a3bf86511c7\r\na=ssrc:181681698 cname:{4f0c9f3c-42d1-49c2-813c-668a5540b678}-1\r\na=ssrc:2927015699 cname:{4f0c9f3c-42d1-49c2-813c-668a5540b678}-1\r\na=ssrc:2927015699 msid:{0d935d06-febc-4298-b1ed-1b7351f66713}-1 {4bb47e7a-ffb3-47fb-bbed-a7370a91e06f}-1\r\na=rtcp-mux\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:data\r\na=sendrecv\r\na=ice-ufrag:aa1bc3a2\r\na=ice-pwd:89f37d993c85fbb3ed898a3bf86511c7\r\na=rtcp-mux\r\na=sctpmap:5000 webrtc-datachannel 256\r\na=max-message-size:1073741823\r\n”, session: “v=0\r\no=mozilla…THIS_IS_SDPARTA-65.0.1 3701791875734340368 1 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=sendrecv\r\na=fingerprint:sha-256 4F:76:47:8B:55:F2:A1:76:AB:1C:34:26:41:D6:44:3B:63:64:9D:29:4E:39:9B:CF:9B:6E:B6:D8:27:4A:78:D1\r\na=ice-options:trickle\r\na=msid-semantic: WMS *\r\na=group:BUNDLE audio video data\r\n” }
Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : removal not necessary Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] : Sending source-add

Logger.js:124:12
[modules/UI/videolayout/VideoLayout.js] : bdbadad5 video is now active

Logger.js:124
[modules/UI/videolayout/RemoteVideo.js] <v.prototype.updateConnectionStatusIndicator>: bdbadad5 thumbnail connection status: active Logger.js:124
[modules/xmpp/JingleSessionPC.js] : sendIceCandidate: last candidate. Logger.js:124:12
(TIME) Render audio: 58978 JitsiRemoteTrack.js:198:8
(TIME) TTFM audio: 4171 JitsiRemoteTrack.js:217:8
[modules/UI/videolayout/LargeVideoManager.js] <value/<>: hover in %s bdbadad5 Logger.js:124
[modules/UI/videolayout/RemoteVideo.js] <v.prototype.updateConnectionStatusIndicator>: bdbadad5 thumbnail connection status: active Logger.js:124
[modules/UI/videolayout/LargeVideoManager.js] <value/<>: hover in %s bdbadad5 Logger.js:124
[modules/UI/videolayout/RemoteVideo.js] <v.prototype.updateConnectionStatusIndicator>: bdbadad5 thumbnail connection status: active
Logger.js:124
[modules/UI/videolayout/RemoteVideo.js] <v.prototype.updateConnectionStatusIndicator>: bdbadad5 thumbnail connection status: active
Logger.js:124
[JitsiConference.js] <X.prototype._init/this.e2eping<>: Failed to send a ping request or response. Logger.js:124:12
[modules/xmpp/JingleSessionPC.js] <value/this.peerconnection.oniceconnectionstatechange>: (TIME) ICE failed P2P? false: 70642 Logger.js:124:12
ICE failed, add a STUN server and see about:webrtc for more details
[modules/connectivity/IceFailedNotification.js] <value/<>: ICE connection restored - not sending ICE failed Logger.js:124:12
[JitsiConference.js] <X.prototype._init/this.e2eping<>: Failed to send a ping request or response. Logger.js:124:12


#4

Have you checked this: https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#advanced-configuration
Ports forwarding and address configuration for the bridge?

Your bridge is advertising only its local address:


#5

thanks @damencho! the advanced configuration did the trick, its working perfectly now. thanks so much for your help.


#6

@damencho when trying to connect to the server on the local LAN (172.16.0.50), the user gets a message saying “You have been disconnected”, check network and trying to reconnect and then a countdown. Any idea how I can configure this so that people can connect jitsi-meet on the local LAN as well?

thanks,
arun


#7

Why you need that?
The thing is that the url and the bosh connection need to match, or you need to configure some CORS http headers in your webserver if that is possible.
Jvb advertises both its public and private addresses, so if clients from the internal network has access to jvb address and ports from the internal network they will use that for communication even when accessing the web through the domain and the external ip.


#8

Jitsi-Meet will be primarily used by users who will connect to the server on the local LAN network IP address. When I installed jitsi-meet I used the public IP address as hostname, and the installation scripts have used that hostname to create keys and certs for prosody as well as specified that as hostname in Jicofo and JVB. I’m able to connect to the jitsi-meet and video-conference over the internet, but when a user on the LAN connects they see an error: “Unfortunately something went wrong we are trying to fix this”. Unfortunately I’m doing this remotely and not in the local LAN. I’m trying to get a hold of the browser logs, will post them here when i have them.

thanks,
arun


#9

so users on the LAN network are able to connect to the server, but they are unable to see either video or hear audio. This is what they have in their browser consoles:

gcek-console.txt (9.8 KB)
gcek-console1.txt (20.0 KB)

Any help figuring out how to set this up would be much appreciated.

thanks,
arun


#10

The deployment is using internal address as hostname: conference.172.16.0.50
I don’t see anything obvious in the logs. Seems both logs are from p2p sessions if those do not succeed in local network is it possible that in that network as a whole udp is not allowed or communications between clients?
Does it work for you outside of the network when you open 3 tabs?


#11

I’ve been trying to change things one at a time while trying to make this work, I have changed the domain in prosody to point to the local LAN IP address. I have similarly changed the hostname for Jicofo and Videobridge to point to the local LAN IP address. After doing this, the clients are able to connect to conference rooms and a popup asks them for permission to use Microphone/Camera. But they are unable to see video streams of other participants in the room, or hear audio.

I’ll check on whether UDP is allowed on the network and whether it permits peer to peer connections.

One strange thing I noticed about the network is that the public IP address is not accessible from inside the LAN. So I’m unable to ping the public IP from the server at 172.16.0.50. Not sure if that effects anything.


#12

After reverting to the default install with the public IP address and setting the NAT values as mentioned in the advanced configuration, this is what users who connect from the Local LAN see. The room briefly loads and is replaced by this error: “Unfortunately something went wrong.” “We are trying to fix the issue. Reconnecting in n seconds…”.

And the browser console log has this:
gcek-console3.txt (41.6 KB)


#13
Error: Focus error, retry after 1000

Apparently jicofo is not running or not connected. Check jicofo logs.


#14

Sorry got busy with things. Had to reinstall Jitsi, and the old logs got purged. Got this to work, thought I’d mention it here in case it helps someone else.

Created /etc/hosts entries for the public and private IP addresses of the server.

172.xx.xx.xx custom.server
xx.xx.xx.xx custom.server

Installed Jitsi and used custom.server as the hostname for the installation.

This combined with the advanced configuration settings seems to make Jitsi work across both the internet and the local LAN.

Thanks for your help @damencho