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.25k stars 6.75k forks source link

Connectivity error ICE FAILED P2P on IPhone when on data connection #10203

Closed marcnelson-ringconnect closed 3 years ago

marcnelson-ringconnect commented 3 years ago

We have our own hosted version of Jitsi Meet and have developed a Windows Application, Android and iOS apps. The Windows Application communicates with both the Android and iOS Apps.

We successfully setup a video call between Windows and Android for both when the Android device is connected to WIFI or is using it's data connection.

We successfully setup a video call between Windows and an iPhone for when the iPhone is connected via WIFI but it does not work when we try the connection when the iPhone is using it's data connection.

This I find very strange.

We connected the iPhone to our MAC and tried the video call (Windows to iPhone) for both when it's on WIFI and when it's using a data connection. I have trawled through the logs and can see that when the iPhone is using it's data connection we get an error "ICE FAILED P2P ?true".

So it seems that there is an issue with the P2P setup. However this works find when the iPhone is on WIFI.

I have included parts of the log that I feel highlight the issue. This has been holding us back from releasing our software and I have struggled to work out what the difference is between the WIFI/Data connections.

Any help in resolving this will be very much appreciated.

Here is the log from the iPhone when using a data connection. Logger.js:154 2021-10-12T14:46:37.917Z [JitsiConference.js] : P2P addIceCandidates Logger.js:154 2021-10-12T14:46:37.920Z [modules/xmpp/strophe.jingle.js] <g.onJingle>: on jingle source-add from 79f5e770-0ce3-4a8e-a103-f357774c6071@conference.meet.XXXX.co.uk/focus <iq xmlns=​"jabber:​client" from=​"79f5e770-0ce3-4a8e-a103-f357774c6071@conference.meet.XXXX.co.uk/​focus" type=​"set" id=​"c3F2Zm91bmF2a3owbmRxc0BtZWV0LnJpbmdjb25uZWN0LmNvLnVrL3Y5M1RCcHdwADIzWUFoLTE2MDQ5MjQ5AIs0BkcGHqwR0kWMZVExS+E=" to=​"sqvfounavkz0ndqs@meet.XXXX.co.uk/​v93TBpwp">​…​​ Logger.js:154 2021-10-12T14:46:37.951Z [modules/xmpp/JingleSessionPC.js] Processing addRemoteStream Logger.js:154 2021-10-12T14:46:37.951Z [modules/xmpp/JingleSessionPC.js] ICE connection state: connected index.js:159 Imploding SIM group: 3550217198 679002462 3578496513 Logger.js:154 2021-10-12T14:46:37.980Z [modules/xmpp/JingleSessionPC.js] <A.peerconnection.oniceconnectionstatechange>: (TIME) ICE checking P2P? true: 42513.70000000001 Logger.js:154 2021-10-12T14:46:38.016Z [modules/RTC/TraceablePeerConnection.js] <A._remoteTrackAdded>: TPC[2,p2p:false] remote track added: a15c4e8e-d3cd-4f0a-85c8-81cafc4292a6-12 audio Logger.js:154 2021-10-12T14:46:38.016Z [modules/RTC/TraceablePeerConnection.js] <A._remoteTrackAdded>: TPC[2,p2p:false] associated ssrc b9074557 3159234666 Logger.js:154 2021-10-12T14:46:38.168Z [modules/RTC/TraceablePeerConnection.js] <A._remoteTrackAdded>: TPC[2,p2p:false] remote track added: 27b707de-46f8-44b1-af08-b75fe6e59dc9-12 video Logger.js:154 2021-10-12T14:46:38.168Z [modules/RTC/TraceablePeerConnection.js] <A._remoteTrackAdded>: TPC[2,p2p:false] associated ssrc b9074557 3550217198 Logger.js:154 2021-10-12T14:46:38.336Z [modules/UI/videolayout/LargeVideoManager.js] hover in b9074557 Logger.js:154 2021-10-12T14:46:38.558Z [modules/xmpp/SdpConsistency.js] <o.makeVideoPrimarySsrcsConsistent>: TPC[2,p2p:false] sdp-consistency replacing new ssrc2021884987 with cached 2021884987 JitsiRemoteTrack.js:214 (TIME) Render audio: 43126.899999999994 JitsiRemoteTrack.js:233 (TIME) TTFM audio: 15800.300000000017 Logger.js:154 2021-10-12T14:46:38.655Z [modules/xmpp/JingleSessionPC.js] addRemoteStream - OK, SDPs: s {media: Array(3), raw: 'v=0\r\no=- 6526495080160238867 2 IN IP4 127.0.0.1\r\ns…trickle\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n', session: 'v=0\r\no=- 6526495080160238867 2 IN IP4 127.0.0.1\r\ns…0-e99616b51919\r\na=group:BUNDLE audio video data\r\n'} s {media: Array(3), raw: 'v=0\r\no=- 6526495080160238867 3 IN IP4 127.0.0.1\r\ns…trickle\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n', session: 'v=0\r\no=- 6526495080160238867 3 IN IP4 127.0.0.1\r\ns…0-e99616b51919\r\na=group:BUNDLE audio video data\r\n'} Logger.js:154 2021-10-12T14:46:38.658Z [modules/xmpp/JingleSessionPC.js] <w.notifyMySSRCUpdate>: removal not necessary Logger.js:154 2021-10-12T14:46:38.660Z [modules/xmpp/JingleSessionPC.js] <w.notifyMySSRCUpdate>: addition not necessary Logger.js:154 2021-10-12T14:46:38.698Z [modules/xmpp/strophe.jingle.js] <g.onJingle>: on jingle content-modify from 79f5e770-0ce3-4a8e-a103-f357774c6071@conference.meet.XXXX.co.uk/b9074557 <iq xmlns=​"jabber:​client" from=​"79f5e770-0ce3-4a8e-a103-f357774c6071@conference.meet.XXXX.co.uk/​b9074557" type=​"set" id=​"c3F2Zm91bmF2a3owbmRxc0BtZWV0LnJpbmdjb25uZWN0LmNvLnVrL3Y5M1RCcHdwAGVlMjIxMGIyLTNmZjktNDQ1My1iNWRiLTEzZGI2NTQ5YTkzMDpzZW5kSVEAv2BkpH/​iJxfDBaPu5XTy3w==" to=​"sqvfounavkz0ndqs@meet.XXXX.co.uk/​v93TBpwp">​…​​ Logger.js:154 2021-10-12T14:46:38.706Z [modules/xmpp/JingleSessionPC.js] <w.modifyContents>: JingleSessionPC[p2p=true,initiator=true,sid=67d6d4c940d3] received remote max frame height: 720 Logger.js:154 2021-10-12T14:46:42.600Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:42.655Z [modules/UI/videolayout/LargeVideoManager.js] hover in b9074557 Logger.js:154 2021-10-12T14:46:43.102Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:43.606Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:44.099Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:44.600Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:45.101Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:45.702Z [modules/RTC/BridgeChannel.js] : Endpoint connection status changed: b9074557 active ? false Logger.js:154 2021-10-12T14:46:46.044Z [modules/xmpp/strophe.jingle.js] <g.onJingle>: on jingle session-terminate from 79f5e770-0ce3-4a8e-a103-f357774c6071@conference.meet.XXXX.co.uk/b9074557 <iq xmlns=​"jabber:​client" from=​"79f5e770-0ce3-4a8e-a103-f357774c6071@conference.meet.XXXX.co.uk/​b9074557" type=​"set" id=​"c3F2Zm91bmF2a3owbmRxc0BtZWV0LnJpbmdjb25uZWN0LmNvLnVrL3Y5M1RCcHdwADU2YzEyOGQ1LTVjZjUtNGU0NC1hZDRhLWFkZDk0OWIyZDE1NDpzZW5kSVEAv2BkpH/​iJxfDBaPu5XTy3w==" to=​"sqvfounavkz0ndqs@meet.XXXX.co.uk/​v93TBpwp">​…​​ Logger.js:154 2021-10-12T14:46:46.050Z [modules/xmpp/strophe.jingle.js] <g.onJingle>: terminating... 67d6d4c940d3

Logger.js:154 2021-10-12T14:46:46.053Z [modules/xmpp/JingleSessionPC.js] <w.onTerminated>: Session terminated JingleSessionPC[p2p=true,initiator=true,sid=67d6d4c940d3] connectivity-error ICE FAILED Logger.js:154 2021-10-12T14:46:46.054Z [JitsiConference.js] : Call ended: connectivity-error - ICE FAILED P2P ?true

Logger.js:154 2021-10-12T14:46:46.054Z [JitsiConference.js] : Stopping remote stats for P2P connection Logger.js:154 2021-10-12T14:46:46.055Z [JitsiConference.js] : Stopping CallStats for P2P connection Logger.js:154 2021-10-12T14:46:46.058Z [modules/RTC/TraceablePeerConnection.js] <A.close>: Closing TPC[1,p2p:true]...

If you need any more logs then let me know and I can put them on here. Thanks

damencho commented 3 years ago

Please, when you have questions or problems use the community forum before opening new issues, thank you.

Do you have a working turnserver in your deployment?

saghul commented 3 years ago

Is your iPhone'd data connection an IPv6-only one?

marcnelson-ringconnect commented 3 years ago

@damencho I apologise, I did search through the forum and I did raise a question but had no response.

We have sorted this now. It seemed to be an issue with our firewall ports. We did not have the restricted media port (4443) open.