Microphone. camera mic and audio output "Permisison not granted"

Hello:

I am having what I would call a selective problem with my jitsi Meet installation, very annoying.

This is a new thing.
Up to a fortnight ago everything was working properly.
No problems whatsoever.

It happens with the *.deb and Appimage versions (both latest available).
I have never been able to get jitsi to work with a browser (tried FF, Chromium, PaleMoon, LibreWolf …) nor do I want to. ie: had enough of that

I say the problem is selective because the it occurs only when I try to join a specific room but not when I try to join any other room at meet.jit.si/.

When I try to join this specific room, I get this:

bad_jitsi

And when I try to enable microphone and camera access I get this:

[cannot post two images | will post the image as a reply to this post]

That said, clicking on Play a test sound works.

Curiously enough, if I join the meet before anyone else, I am granted moderator rights!

I have poured through my logs and have not been able to find anything that would indicate a permission problem.

I has been suggested that this is not a permisison problem but maybe some software version miss-match.

But then the question that crops up is: why only me and my box?

ie: other attendants to that same room do not have this issue.
And even though they cannot see or hear me (no camera or mic on my side) I can use the jitsi chat and see/hear them.

I’d appreciate some insight or ideas on how to do some more troubleshooting.

Thanks in advance.

Best,

JHM

Hello:

[cannot post two images | will post the image as a reply to this post]

Here is the missing image:

bad_access

Right …

My post is now complete.

Thanks in advance.

Best,

JHM

Are you saying you encounter this issue on both your self-hosted instance as well as on meet.jit.si?

  • Did you try another device on the same network?
  • Did you try the same device on another network?

Hello:

No.

Only at the self hosted instance.
Not at meet.jit.si/.

Thanks for your input.

Best,

JHM

Hello:

No.
No other suitable devices available.
Just my ADSL available, no other network.

That said, if it only happens with a specific room, I doubt it is a device/network problem.

Thanks for your input.

Best,

JHM

Hello:

I’ve been looking at the console output and found these tidbits where there appears to be some problem related to error, permissions or permission denied:

— snip —
Error with Permissions-Policy header: Origin trial controlled feature not enabled: ‘interest-cohort’.
— snip —
Logger.js:154 2023-05-13T01:08:17.467Z [modules/RTC/RTCUtils.js] Failed to get access to local media. NotAllowedError: Permission denied {“video”:{“height”:{“ideal”:720},“width”:{“ideal”:1280},“facingMode”:“user”},“audio”:{“autoGainControl”:true,“deviceId”:“a817cf3bb099b752034cea5e0c030c38934d512a5162245f657aea79b5a42af5”,“echoCancellation”:true,“noiseSuppression”:true}}
— snip —
Logger.js:154 2023-05-13T01:08:17.473Z [features/base/tracks] Failed to create local tracks

  1. Array(2)
    DOMException: Permission denied
    — snip —
    Logger.js:154 2023-05-13T01:08:17.706Z [modules/RTC/RTCUtils.js] Failed to get access to local media. NotAllowedError: Permission denied {“video”:false,“audio”:{“autoGainControl”:true,“deviceId”:“a817cf3bb099b752034cea5e0c030c38934d512a5162245f657aea79b5a42af5”,“echoCancellation”:true,“noiseSuppression”:true}}
    — snip —
    Logger.js:154 2023-05-13T01:08:17.707Z [features/base/tracks] Failed to create local tracks
  2. Array(1)
    DOMException: Permission denied
    — snip —
    Logger.js:154 2023-05-13T01:08:17.714Z [modules/RTC/RTCUtils.js] Failed to get access to local media. NotAllowedError: Permission denied {“video”:{“height”:{“ideal”:720},“width”:{“ideal”:1280},“facingMode”:“user”},“audio”:false}
    — snip —
    Logger.js:154 2023-05-13T01:08:17.715Z [features/base/tracks] Failed to create local tracks
  3. Array(1)
    DOMException: Permission denied
    — snip —
    Logger.js:154 2023-05-13T01:08:19.953Z [modules/xmpp/strophe.jingle.js] getting turn credentials with extdisco:2 failed, trying extdisco:1
    — snip —
    Logger.js:154 2023-05-13T01:08:20.256Z [modules/xmpp/strophe.jingle.js] getting turn credentials failed
    — snip —
    Logger.js:154 2023-05-13T01:08:20.256Z [modules/xmpp/strophe.jingle.js] is mod_turncredentials or similar installed and configured?
    — snip —

Not that I can make anything out of all this but maybe someone here can.

Thanks in advance.

Best,

JHM

Permissions are not being granted to your browser. It may be that you denied permissions (unknowingly) at some point and that information was cached.

Have you tried in incognito (private mode in browser)?

Also, try joining the room with your phone - that can be used to rule out two things:

  • Device-specific issue
  • Network issue (if you join using your phone’s mobile data)

Hello:

No.
Please see my OP.

I am not using a browser.

I am using either the *.deb downloaded install or the appimage.
I have purged all configuration files that were previously generated when attempting to use a browser.

I’m sorry.
I do not have a phone that can use a browser or jitsi.

Jitsi (whether I use the appimage or the *.deb version) works perfectly well when I join a room at meet.jit.si/.

Like I mentioned, the problem occurs only with a self-hosted instance.

Is there a self hosted instance ie: not meet.jit.si/ where I could test this?

That said, (don’t know if it is relevant) although the gdebi package installer says that all all dependencies were met, the lintian output has something to say:

E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/chrome-sandbox
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/chrome_crashpad_handler
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/jitsi-meet
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: freetype
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: lcms2
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: libjpeg
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: libjsoncpp
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: libpng
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: openjpeg
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: srtp
E: jitsi-meet-electron: embedded-library opt/Jitsi Meet/jitsi-meet: tiff
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/libEGL.so
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/libGLESv2.so
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/libffmpeg.so
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/libvk_swiftshader.so
E: jitsi-meet-electron: unstripped-binary-or-object opt/Jitsi Meet/libvulkan.so.1
E: jitsi-meet-electron: missing-dependency-on-libc needed by opt/Jitsi Meet/chrome-sandbox and 7 others
E: jitsi-meet-electron: no-copyright-file
E: jitsi-meet-electron: description-synopsis-is-empty

--> W: jitsi-meet-electron: description-starts-with-leading-spaces
--> W: jitsi-meet-electron: unknown-section default

E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/LICENSE.electron.txt
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/LICENSES.chromium.html
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/chrome-sandbox
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/chrome_100_percent.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/chrome_200_percent.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/chrome_crashpad_handler
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/icudtl.dat
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/jitsi-meet
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/libEGL.so
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/libGLESv2.so
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/libffmpeg.so
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/libvk_swiftshader.so
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/libvulkan.so.1
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/af.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/am.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ar.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/bg.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/bn.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ca.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/cs.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/da.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/de.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/el.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/en-GB.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/en-US.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/es-419.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/es.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/et.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/fa.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/fi.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/fil.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/fr.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/gu.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/he.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/hi.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/hr.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/hu.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/id.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/it.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ja.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/kn.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ko.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/lt.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/lv.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ml.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/mr.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ms.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/nb.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/nl.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/pl.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/pt-BR.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/pt-PT.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ro.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ru.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/sk.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/sl.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/sr.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/sv.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/sw.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ta.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/te.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/th.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/tr.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/uk.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/ur.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/vi.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/zh-CN.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/locales/zh-TW.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/resources.pak
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/resources/
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/resources/app.asar
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/snapshot_blob.bin
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/v8_context_snapshot.bin
E: jitsi-meet-electron: dir-or-file-in-opt opt/Jitsi Meet/vk_swiftshader_icd.json

--> W: jitsi-meet-electron: maintainer-script-ignores-errors postinst
--> W: jitsi-meet-electron: maintainer-script-ignores-errors postrm

E: jitsi-meet-electron: shlib-with-executable-bit opt/Jitsi Meet/libEGL.so 0755
E: jitsi-meet-electron: shlib-with-executable-bit opt/Jitsi Meet/libGLESv2.so 0755
E: jitsi-meet-electron: shlib-with-executable-bit opt/Jitsi Meet/libffmpeg.so 0755
E: jitsi-meet-electron: shlib-with-executable-bit opt/Jitsi Meet/libvk_swiftshader.so 0755
E: jitsi-meet-electron: shlib-with-executable-bit opt/Jitsi Meet/libvulkan.so.1 0755

Lintian finished with exit status 1

Thanks for your input.

Best,

JHM

Hello:

Maybe these printouts contain usable troubleshooting information.

Printout when I start jitsy-meet from the terminal:

~$ jitsi-meet

(jitsi-meet:4488): Gtk-WARNING **: 10:13:06.237: Theme parsing error: gtk-widgets.css:154:27: The style property GtkButton:image-spacing is deprecated and shouldn't be used anymore. It will be removed in a future version
--- snip ---
The lines above repeat 10 times
Exactly the same save for the gtk-widgets.css numbers
--- snip ---

10:13:06.303 › APPIMAGE env is not defined, current application is not an AppImage
10:13:06.358 › checkForUpdatesAndNotify called, downloadPromise is null
Rejected file URL: file:///opt/Jitsi%20Meet/resources/app.asar/build/index.html
[4521:0513/101306.783120:ERROR:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
Rejected file URL: file:///opt/Jitsi%20Meet/resources/app.asar/build/app.js
2023-05-13T13:13:36.804Z [AOT] <    at log (/opt/Jitsi Meet/resources/app.asar/node_modules/>:  [MAIN] received aot event aot-update-state
2023-05-13T13:13:36.804Z [AOT] <    at log (/opt/Jitsi Meet/resources/app.asar/node_modules/>:  [MAIN] handling aot-close state update from renderer process
2023-05-13T13:13:36.805Z [AOT] <    at log (/opt/Jitsi Meet/resources/app.asar/node_modules/>:  [MAIN] removing main window event handlers
~$ 

Printout when I start jitsy-meet appimage from the terminal:

~$ /media/storage/jitsi-meet-x86_64.AppImage

(jitsi-meet:8222): Gtk-WARNING **: 10:25:05.981: Theme parsing error: gtk-widgets.css:154:27: The style property GtkButton:image-spacing is deprecated and shouldn't be used anymore. It will be removed in a future version

--- snip ---
The lines above repeat 10 times
Exactly the same save for the gtk-widgets.css numbers
--- snip ---

10:25:06.279 › Checking for update
10:25:06.709 › Generated new staging user ID: 1ca313b4-42d8-54d8-ae2f-47b73e1df094
[8269:0513/102506.993352:ERROR:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
10:25:08.831 › Update for version 2023.5.0 is not available (latest version: 2023.5.0, downgrade is disallowed).
10:25:08.832 › checkForUpdatesAndNotify called, downloadPromise is null
2023-05-13T13:25:36.700Z [AOT] <logInfo>:  [MAIN] received aot event aot-update-state
2023-05-13T13:25:36.700Z [AOT] <logInfo>:  [MAIN] handling aot-close state update from renderer process
2023-05-13T13:25:36.701Z [AOT] <logInfo>:  [MAIN] removing main window event handlers
~$ 

Thanks in advance.

Best,

JHM

Hello:

Evidently not. 8^°

After a couple of days of trial and error I think I have found a way to avoid the problem but not the exact cause.

Before anyone asks, this happens:

  1. with jitsi-meet-electron / both the *.deb and *.appimage versions.
  2. only with a self hosted instance and in the conditions described below.

For other details please read my previous posts.

It turns out that (unknown to me) access to the self-hosted instance was through a link in another server.

ie:
The address ‘https://vdc.server_1.net/room_name’ redirects to a server where the self-hosted instance is run, ‘https://vdc.server_2.net/room_name’.

In these conditions, the jitsi-meet-electron installation in my box loses all access/control over camera and microphone rights/permissions, as described earlier in this thread.

Curiously enough, not having camera and microphone rights/permissions still allows me to see and hear the participants of the meet without their having any knowledge of my presence at the meet.

This is a problem in itself.

That said, it turned out that jitsi-chat worked perfectly: I could communicate with the meet members ie: write messages to the room and receive replies.

That’s about it.

I have no idea as to why accessing a meet via an external link should cause my local jitsi-meet-electron installation to lack access to the microphone and camera in a box where I am admin.

I’d appreciate some input on this.

Thanks in advance.

Best,

JHM

Hey @altoid

I don’t have all the answers, but a few notes:

For meet-jit-si this is by design. For a self-hosted instance, it depends on configuration.

I don’t know how the redirect works or if this is expected. In a browser permissions are granted on a per-domain basis for privacy reasons, maybe others can comment on how this works/is supposed to work in electron.

This is as designed: you shouldn’t need a camera/mic or provide access to them to join a meeting. However, your presence is always shown to others in the conference in the form of a thumbnail with an avatar, as well as an entry in the participants list. If your presence is not shown, this would be a serious violation of other users’ privacy. This is something we take very seriously, and the code is designed to prevent situations like it. If you can reproduce this either on meet-jit-si or on a self-hosted instance that is running unmodified versions of the jitsi stack, please reach out to us with more details.

Hello:

It seemed odd.
No access/permisisons to my own box’s camera/mic but had moderator rights to the meeting.

No idea either.
Moot point now (at least for me) as just not using a link seems to have solved the problem. I expect that it may also solve some problems other attendees using a browser were having.

I will try to set up a test further on and report back.
It obviously requires participation of third parties, so I have to reach out and coordinate things first.

Thank you very much for your input.
Best,

JHM

These are permissions that you give to the website to access your camera/microphone, it’s completely orthogonal to moderator privileges in the meeting.

Thank you! I should have said this earlier: if you are able to reproduce a scenario where you can see other participants, but they don’t see your presence in the form of a thumbnail and entry in the “Participants” panel, please report directly to security@jitsi.org and don’t share the details publicly until we’ve had a chance to address the issue.

Boris

Hello:

Yes.
I understand.

But the thing is (remember this is not using a browser but native the jitsi apps), I cannot grant jitsi access to the mic/camera via it’s own settings panel, something that happens only when I try to access the meet via a link.
See the attached screen captures showing what happens.

I cannot promise a timeline for that.
Meetings are held once a week and are usually busy but I’l try.

Of course.
Thanks for your input.

Best,

JHM

Hello:

Reporting much sooner than I expected.

I was able to contact one of the attendees to the four or five meets that I attempted to join before I found where the problem was to see about running the test and report back.

They recalled having seen an icon placeholder identifying me and giving evidence of my being there on their screen, obviously on and off due to my repeated/consecutive attempts to join the meet.

I think that settles the issue at hand as I expect that the rest of the attendees have to have seen the same icon placeholder on their respective screens.

My apologies for raising undue concerns about security within jistsi. 8^/
Thank you very much for your input.

Best,
JHM

1 Like