Failed to accept incoming P2P Jingle session

I’m having this error, when trying to connect to a conference using lib-jitsi-meet.js. When the app runs the following error comes in the console.

This is my config file.

{
            hosts: {
                domain: 'dev.meet.domain.com',
                muc: 'conference.dev.meet.domain.com'
            },
            bosh: '//dev.meet.domain.com/http-bind',
            testing: {},
            enableNoAudioDetection: true,
            enableNoisyMicDetection: true,
            channelLastN: -1,
            enableWelcomePage: true,
            p2p: {
                enabled: true,
                stunServers: [
                    { urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
                ]
            },
            analytics: {},
            deploymentInfo: {},
            mouseMoveCallbackInterval: 1000,
            makeJsonParserHappy: 'even if last key had a trailing comma'
        }

This is only reproducible in Chrome. Firefox works fine.

Any idea why this error happens? To what is this related to?

1 Like

Maybe share your complete js console logs.


Sure, these are the console errors that I could see.

There is some timeout… Probably the other side is not responding.

I have set up a jitsi-meet on a server using the default installation, which is working fine when accessed through its domain. (https://dev.meet.domain.com/1234 works fine) I use the lib-jitsi-meet.js (included in the javascript file from the same domain) to implement a meeting application to connect to the same jitsi-meet server, I have the above errors coming up.

Followed these guides:

I have used and passed the following configuration to the lib-jitsi-meet.js to initialize the connection.

var CONFIG: {
            hosts: {
                domain: 'dev.meet.domain.com',
                muc: 'conference.dev.meet.domain.com'
            },
            bosh: '//dev.meet.domain.com/http-bind',
            testing: {},
            enableNoAudioDetection: true,
            enableNoisyMicDetection: true,
            channelLastN: -1,
            enableWelcomePage: true,
            p2p: {
                enabled: true,
                stunServers: [
                    { urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
                ]
            },
            analytics: {},
            deploymentInfo: {},
            mouseMoveCallbackInterval: 1000,
            makeJsonParserHappy: 'even if last key had a trailing comma'
    }
JitsiMeetJS.init(CONFIG);
connection = new JitsiMeetJS.JitsiConnection(null, null, CONFIG);

room = connection.initJitsiConference($rootScope.activeConferenceId, CONFIG);

Is there anything that I am missing here? or any misconfiguration that I am using in the code?

Screenshot 2022-02-09 at 21.18.01

This error, or any error that is attached to the jitsi-meet are not there on the jitsi-meet instance. (https://dev.meet.domain.com/1234)

Gather the logs from both sides and upload them here.

Please find the log files here.

I was referring to the client logs from ljm.

Thanks for following. Updated in the same location.

There is definitely an error:

Logger.js:154 2022-02-09T19:09:16.941Z [modules/xmpp/strophe.util.js] <Object.Ur.rt.Strophe.log>:  Strophe 4 TypeError: s is not iterable
    at Rr.onJingle (https://dev.meet.domain.com/libs/lib-jitsi-meet.min.js:2:467792)
    at I.Handler.run (https://dev.meet.domain.com/libs/lib-jitsi-meet.min.js:2:176095)
    at https://dev.meet.domain.com/libs/lib-jitsi-meet.min.js:2:184533
    at Object.forEachChild (https://dev.meet.domain.com/libs/lib-jitsi-meet.min.js:2:167763)
    at I.Connection._dataRecv (https://dev.meet.domain.com/libs/lib-jitsi-meet.min.js:2:184382)
    at M.Bosh._onRequestStateChange (https://dev.meet.domain.com/libs/lib-jitsi-meet.min.js:2:204366)

Not sure where that comes from.
Do you have a simple example to reproduce the issue?

Sure, I’ll try to prepare a working example. Please let me know why the icecandidate failed status can lead to this error. Isn’t Jitsi handling this icecandidate failed scenario?

Hi @damencho
The issue was with P2P configuration in jitsi. When I disabled the P2P, the conference worked. Following is the new configuration. (I was implementing a demo to reproduce the original issue when I came across this config change.)

I’ll be working to resolve the issues when the P2P is enabled in the config. I’ll keep this post updated.

    {
            hosts: {
                domain: 'dev.meet.domain.com',
                muc: 'conference.dev.meet.domain.com'
            },
            bosh: '//dev.meet.domain.com/http-bind',
            testing: {},
            enableNoAudioDetection: true,
            enableNoisyMicDetection: true,
            channelLastN: -1,
            enableWelcomePage: true,
            useStunTurn: false,
            p2p: {
                useStunTurn: false,
                enabled: false,
                stunServers: [
                    { urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
                ],
            },
            analytics: {},
            deploymentInfo: {},
            mouseMoveCallbackInterval: 1000,
            makeJsonParserHappy: 'even if last key had a trailing comma'
        }

I have a few questions if you can help me with.

  • When P2P is enabled in the config, when does the P2P connection initiate? (Is it when there are two participants?) And does it switch back to non-P2P when the participant count increase?
  • Does the P2P connection establish directly between the browsers? Or does the connection still go through the servers?

Yes.

The media will make an attempt to go directly if that is not possible it will go through a turn server and if that is not possible, will fallback to the jvb connection. This is only for the media.
Signaling always goes through the XMPP server where you are connected.

Thanks. but still with P2P enabled in the config, the conference failed at the line exactly when I tried to call room.join();.

Were you able to run this example:

I tried to run the example as it is.
Looking at the logs I think the connection failed. I have the console output here.

That is a working example you can start with.

Local tracks correctly loaded. I was able to switch video stream to the desktop, then back to the webcam.

At the end, the logged error is there in the CONNECTION_FAILED event.

example.js:159 Connection Failed!

Also the other participants didn’t join when run in multiple tabs. (This was after the connection failed.) May be I have to do some alterations to the code to match my development environment? I’ll retry and post here.