We are implementing a custom UI based on Angular and Ionic using JitsiMeetJS for our video conferencing needs. In general, everything is working fine, except for a few issues that we struggle to understand and reproduce.
The first issue is that sometimes other particpants of the conference wont receive the information that a new video track has been added by a remote participant. The audio tracks are always being received. The issue occurs more often when Firefox is involved (FF 60 ESR and FF 68 ESR), but also occurs on Chrome, though very rarely. Also the issue seems to occur mostly upon joining an existing (as in “particpants have been communicating”) conference and upon rejoining a conference after leaving. It is also possible that another participant that is joining a conference where at least 2 participants are seeing this bug, the third one can see all streams correctly.
Debugging this issue we see that the RTCPeerConnection is not being notified that a new track has been added. Upon joining and adding the local track to the conference we dont see any errors client or server-side.
In the jicofo logs we see that both users create their sources with video and audio ssrcs, weirdly enough those “first” streams are being removed shortly after, and recreated. If we are interpreting those logs correctly, then the participants recreate their sources and resubmit them to jicofo, while keeping using the first streams as the local ones.
The second issue seems related, but unfortunately we have even less information about that - in the same use cases as above the participant seems to receive an “empty” stream. We see everything being correct in the logs, we receive and attach the tracks as usual, but the video just remains empty.
Things we tried to resolve our issues that did not help at all:
- We connected to the official meet.jit.si API instead of our own on-prem instance
- We updated the JitsiMeetJS version to the newest release and to github master HEAD
- We updated Strophe to the newest release
- We used google STUN servers
- We played around with settings:
– disabled Simulcast
– disabled p2p
– dis-/enabled experimental settings
- We refactored our stream/track handling in the UI
Nothing of this brought any kind of improvement, and we currently lack any other ideas on how to keep debugging this issues, so any help or hint of what we could check would be greatly appreciated.
Thanks in advance.