Hello! I’m experiencing an issue with the calls plugin. Mattermost version 10.6.1 is installed on Ubuntu 22.04. Nginx is not used; instead, a custom Mattermost web server is configured. HTTPS is also set up. Access is available from the web version, desktop app, and mobile app. Port 8443 is open for calls. The plugin version is 1.6.0. The call is made, and the call notification occurs, but the sound only goes one way. One participant can hear, while the other cannot. There are no issues with microphones and speakers; the necessary devices are configured and work well, for example, in Teams. Additionally, screen sharing does not work. The person sharing sees their screen, but the other participant only sees an empty window. The only thing that raises concerns is attached to the question in the log; everything else is informational messages. Please help; are there any ideas?
Mar 18 11:15:39 4394833-cf27084 mattermost[51992]: {“timestamp”:“2025-03-18 11:15:39.661 +03:00”,“level”:“warn”,“msg”:“Failed to accept RTP stream is already closed”,“caller”:“app/plugin_api.go:1014”,“plugin_id”:“com.mattermost.calls”,“origin”:“main.(*logger).Warn log.go:108”,“origin”:“webrtc/v4.(*PeerConnection).undeclaredRTPMediaProcessor github.com/pion/webrtc/v4@v4.0.7/peerconnection.go:1708”}
Mar 18 11:15:39 4394833-cf27084 mattermost[51992]: {“timestamp”:“2025-03-18 11:15:39.661 +03:00”,“level”:“warn”,“msg”:“Failed to accept RTCP stream is already closed”,“caller”:“app/plugin_api.go:1014”,“plugin_id”:“com.mattermost.calls”,“origin”:“main.(logger).Warn log.go:108",“origin”:"webrtc/v4.(PeerConnection).undeclaredRTCPMediaProcessor github.com/pion/webrtc/v4@v4.0.7/peerconnection.go:1767"}
Mar 18 11:15:39 4394833-cf27084 mattermost[51992]: {“timestamp”:“2025-03-18 11:15:39.661 +03:00”,“level”:“warn”,“msg”:“Failed to read from candidate tcp4 host 127.0.0.1:8443 (resolved: 127.0.0.1:8443): io: read/write on closed pipe”,“caller”:“app/plugin_api.go:1014”,“plugin_id”:“com.mattermost.calls”,“origin”:"main.(logger).Warn log.go:108",“origin”:"ice/v4.(candidateBase).recvLoop github.com/pion/ice/v4@v4.0.3/candidate_base.go:244"}
Mar 18 11:15:39 4394833-cf27084 mattermost[51992]: {“timestamp”:“2025-03-18 11:15:39.661 +03:00”,“level”:“warn”,“msg”:"Failed to read from candidate tcp4 host ...:8443 (resolved: ...
This is a very strange situation. The one who is not heard from Russia. If you turn on the VPN, then everything works. But what does it mean? The server is located in the Netherlands. What does the location of users have to do with calls? Are there any other addresses used during calls other than the server where Mattermost is located?All alerts are working, and messages are being forwarded.
Posts and files go over 443/TCP Calls uses 8443/UDP by default. It will fall back to TCP if UDP isn’t available, and it’s possible either or both are blocked by a firewall.
I tried opening port 8443 for UDP on the client computers. I have created rules in the firewall for incoming and outgoing connections. Both the client and the server have a fixed IP address. I ran the command from another separate computer
nc -z -u -v -n [ip] [port].
This returned succeeded for all three computers. For a server and for two clients. But still, the sound is heard only on one of the clients, and the screen sharing does not work in both directions.
This is not a very big secret
I am ready to provide as much information as possible that will help.
Since the problem is the same regardless of the server location, we removed the experimental server in the Netherlands.
If you can access a Linux or Mac host with the issue, what does nmap -p8443 geosteam.k3soft.ru say? I can see it open from my laptop, but it’s very possible that their network is filtering that traffic. The fact that it works over a VPN supports that hypothesis.
Please look at the results.
As an ip, I entered the static ip of the computer on which the mattermost client application is installed. The firewall has created a rule for incoming and outgoing requests on port 8443 udp.