Run the docker version of jitsi without external internet access and use sendEndpointAPI

I want to use jitsi in a local environment. Both clients can see each other and things like the chat works. But sending something over the sendEndpointAPI does no work, if the clients don’t have access to the internet. The problem persists, if both clients are on the same machine.

I use the docker version.

This is the errors I get:

2022-06-01T14:18:05.686Z [features/base/tracks] <p/</<>: Failed to create local tracks

Array [ "audio", "video" ]

DOMException: The object can not be found here. [Logger.js:154:22](webpack:///node_modules/jitsi-meet-logger/lib/Logger.js)

2022-06-01T14:18:05.797Z [features/base/tracks] <p/</<>: Failed to create local tracks

Array [ "audio" ]

DOMException: The request is not allowed by the user agent or the platform in the current context. [Logger.js:154:22](webpack:///node_modules/jitsi-meet-logger/lib/Logger.js)

2022-06-01T14:18:05.810Z [features/base/tracks] <p/</<>: Failed to create local tracks

Array [ "video" ]

DOMException: The object can not be found here. [Logger.js:154:22](webpack:///node_modules/jitsi-meet-logger/lib/Logger.js)

2022-06-01T14:18:13.142Z [JitsiMeetJS.js] <getGlobalOnErrorHandler>: UnhandledError: The fetching process for the media resource was aborted by the user agent at the user's request. Script: null Line: null Column: null StackTrace: <empty string> [Logger.js:154:22](webpack://JitsiMeetJS/jitsi-meet-logger/lib/Logger.js)

Uncaught (in promise) DOMException: The fetching process for the media resource was aborted by the user agent at the user's request.

2022-06-01T14:18:22.020Z [JitsiMeetJS.js] <getGlobalOnErrorHandler>: UnhandledError: The fetching process for the media resource was aborted by the user agent at the user's request. Script: null Line: null Column: null StackTrace: <empty string> [Logger.js:154:22](webpack://JitsiMeetJS/jitsi-meet-logger/lib/Logger.js)

Uncaught (in promise) DOMException: The fetching process for the media resource was aborted by the user agent at the user's request.

2022-06-01T14:18:22.630Z [JitsiMeetJS.js] <getGlobalOnErrorHandler>: UnhandledError: Can't create RTCPeerConnections when the network is down Script: null Line: null Column: null StackTrace: A@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:17:54479 createPeerConnection@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:107177 doInitialize@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:225969 initialize@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:17:12345 ce.prototype._acceptJvbIncomingCall@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:10:61797 ce.prototype.onIncomingCall@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:10:61298 a.prototype.emit@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:126837 onJingle@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:10:214098 run@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:26830 n/_dataRecv/<@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:35268 forEachChild@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:18492 _dataRecv@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:35117 _onMessage@https://localhost:8443/libs/lib-jitsi-meet.min.js?v=139:1:64355 [Logger.js:154:22](webpack://JitsiMeetJS/jitsi-meet-logger/lib/Logger.js)

2022-06-01T14:18:22.631Z [JitsiConference.js] <ce.prototype._acceptJvbIncomingCall>: DOMException: Can't create RTCPeerConnections when the network is down

Like the error states, it fails to create a RTCPeerConnection.

Sounds like a browser limitation to me. That’s not an error we generate or can overcome.

1 Like

If I have an internet connection on the initial connection and disconnect from the internet I get no errors and sendEndpointAPI works.

I think its the signaling / exchange of ice information which needs an outside internet connection.

Not necessarily, you could have all local, but it seems like creating a new RTCPeerConnection fails in that scenario, and alas there is nothing the app can do to fix it.

You are not passing any unreachable STUN servers, right?

1 Like

On my local network (or in testing just on localhost) there are no STUN servers hosted by myself.
The default env file has
JVB_STUN_SERVERS=meet-jit-si-turnrelay.jitsi.net:443
as an entry, I guess this is the problem?

Do I need to host a local stun server or can I configure jitsi in such a way?
Some digging in node_modules folder i also found stun URLs, but I only found it in React Native folders (not the web version that I use)

Could be! Try setting that blank.

No you don’t need a STUN server.

1 Like

I don’t know why but after starting over and setting PUBLIC_URL and DOCKER_HOST and adding firewall rules it works now.

1 Like

Good to hear!