In our Jitsi meet installation, We have a problem with someone who is almost grayed in the meetings. He can’t send and receive any video or audio but sometimes can receive other participants’ audio. It happens almost 3 minutes after joining. In other words, the user joins, grayed, can’t send anything for 3 minutes while can receive other participants voices, then suddenly sends audio, but after 1 minute, again can’t send anything. The cycle repeats until the end of the meeting. I tracked jvb logs. For the mentioned user, there are some logs of the form:
pair failed for participant_ip:participant_port
It means the user is connected successfully and is not blocked by any gateway or firewall because its IP is visible.
I am sure about the IP of the user and have double-checked it.
After 3 minutes, the pair succeeds, the user can send and receive data, but after 1 minute, the user can’t send anything to other participants.
I took a look at ICE, TURN, STUN, and WEBRTC protocols and faced some questions which confuse me:
0- Do we have passed the right way to evaluate the problem?
1- ICE, TURN, STUN, and WEBRTC are used to initiate a tunnel between two peers whose IP is not valid in the network and mostly are behind several levels of NAT layers. Our media sever (jvb) has a public IP address and is accessible directly by the clients, so why do we need to use ICE protocol? The clients can send SDPs directly to the media server.
3- Edited: How can I solve the pair failed problem? One idea is to set up a local TURN server (or use Google TURN server) and force the clients (whom their pair failed) to use TURN server to relay the media instead of JVB. Is it possible? If yes, How?
The idea comes from jitsi-videobridge/tcp.md at master · jitsi/jitsi-videobridge · GitHub , It is recommended to Use TURN in conjunction with JVB. Would you please describe more? Is there any documentation on setting up TURN and JVB together?
4- What is the purpose of org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS while we’re using ICE?
5- What is the difference between org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS and org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS?
6- Edited: Is there something like TURN or STUN in jitsimeet components?
I appreciate any help in answering the questions. There are some forums about pair failed but no solution is found. I can send any configuration settings of our system.
1- We have disabled p2p
2- The tests were on meeting with three or more participants.