With this configuration, it sometimes worked and sometimes didn’t.
I.e. in some cases, the call was terminated immediately / not really established, while in other cases it worked ok.
The colleague with which I tested was in the same office, though, so this probably wasn’t a very realistic test.
Some peculiar thing I noticed with screensharing: My colleague first used the Mattermost Desktop application in Windows, and in this case it shared all of her screens immediately without any confirmation.
On the other hand, accessing the Mattermost web page in a browser bringst up a dialog after clicking the share button in which you can select the screen or even Window you like to share.
Calls never seem to work while our company VPN is active (OpenVPN with split routing, IPv4 goes though the tunnel, IPv6 doesn’t), so we tested everything without VPN. Without VPN the behaviour described above happens - sometimes, calls can be established, sometimes not. (e.g. just clicking rejoin after leaving a call then fails).
Here’s the last few lines of the server log with user and session IDs obfuscated, but I kept same strings the same after obfuscation.
BTW which of these IDs are sensitive and which can just be pasted here verbatim without security implications?
{"timestamp":"2022-08-23 19:04:09.820 +02:00","level":"warn","msg":"Unrecognized config permissions tag value.","caller":"api4/config.go:426","tag_value":"sysconsole_write_*_read"}
{"timestamp":"2022-08-23 19:04:09.830 +02:00","level":"info","msg":"rtc: server was shutdown","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:04:09.838 +02:00","level":"info","msg":"plugin process exited","caller":"plugin/hclog_adapter.go:61","plugin_id":"com.mattermost.calls","wrapped_extras":"pathplugins/com.mattermost.calls/server/dist/plugin-linux-amd64pid28855"}
{"timestamp":"2022-08-23 19:04:13.785 +02:00","level":"warn","msg":"Unrecognized config permissions tag value.","caller":"api4/config.go:426","tag_value":"sysconsole_write_*_read"}
{"timestamp":"2022-08-23 19:04:30.818 +02:00","level":"warn","msg":"Unrecognized config permissions tag value.","caller":"api4/config.go:426","tag_value":"sysconsole_write_*_read"}
{"timestamp":"2022-08-23 19:04:30.895 +02:00","level":"info","msg":"rtc: server is listening on udp 8443","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:04:30.896 +02:00","level":"info","msg":"rtc: server is listening on udp 8443","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:04:30.896 +02:00","level":"info","msg":"rtc: server is listening on udp 8443","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:04:30.896 +02:00","level":"info","msg":"rtc: server is listening on udp 8443","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:04:30.897 +02:00","level":"info","msg":"rtc: server is listening on udp 8443","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:04:30.897 +02:00","level":"info","msg":"rtc: server is listening on udp 8443","caller":"app/plugin_api.go:937","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Info log.go:84"}
{"timestamp":"2022-08-23 19:06:16.595 +02:00","level":"info","msg":"pc ERROR: 2022/08/23 19:06:16 Incoming unhandled RTP ssrc(1693057650), OnTrack will not be fired. mid RTP Extensions required for Simulcast\n","caller":"io/io.go:428","plugin_id":"com.mattermost.calls","source":"plugin_stdout"}
{"timestamp":"2022-08-23 19:06:34.402 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:07:04.481 +02:00","level":"error","msg":"screenSession should not be nil","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92"}
{"timestamp":"2022-08-23 19:07:18.231 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:07:22.010 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:07:22.010 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:07:46.234 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:08:38.046 +02:00","level":"error","msg":"screenSession should not be nil","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92"}
{"timestamp":"2022-08-23 19:08:45.307 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:08:45.307 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:08:51.004 +02:00","level":"error","msg":"failed to read RTCP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"io: read/write on closed pipe"}
{"timestamp":"2022-08-23 19:08:59.545 +02:00","level":"error","msg":"failed to read RTCP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"io: read/write on closed pipe"}
{"timestamp":"2022-08-23 19:09:00.987 +02:00","level":"error","msg":"failed to add screen track","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"timed out signaling","sessionID":"session_id_1"}
{"timestamp":"2022-08-23 19:09:09.480 +02:00","level":"error","msg":"failed to add screen track","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"timed out signaling","sessionID":"session_id_2"}
{"timestamp":"2022-08-23 19:09:09.680 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:09:09.680 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:09:37.020 +02:00","level":"error","msg":"screenSession should not be nil","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92"}
{"timestamp":"2022-08-23 19:09:56.837 +02:00","level":"error","msg":"screenSession should not be nil","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92"}
{"timestamp":"2022-08-23 19:10:09.663 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:10:09.663 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:10:51.622 +02:00","level":"error","msg":"failed to read RTCP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"io: read/write on closed pipe"}
{"timestamp":"2022-08-23 19:11:01.528 +02:00","level":"error","msg":"failed to add screen track","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"timed out signaling","sessionID":"session_id_3"}
{"timestamp":"2022-08-23 19:11:33.449 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:11:33.897 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:12:02.757 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:12:09.170 +02:00","level":"error","msg":"failed to read RTCP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:12:09.170 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:12:09.170 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:12:17.488 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:12:17.488 +02:00","level":"error","msg":"failed to read RTP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:12:17.488 +02:00","level":"error","msg":"failed to read RTCP packet","caller":"app/plugin_api.go:940","plugin_id":"com.mattermost.calls","origin":"main.(*logger).Error log.go:92","error":"EOF"}
{"timestamp":"2022-08-23 19:12:17.695 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:12:17.695 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:12:17.842 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:12:17.842 +02:00","level":"warn","msg":"websocket.slow: dropping message","caller":"app/web_conn.go:716","user_id":"user_id_1","type":"channel_viewed"}
{"timestamp":"2022-08-23 19:14:32.957 +02:00","level":"info","msg":"SimpleWorker: Job is complete","caller":"jobs/base_workers.go:88","worker":"ExpiryNotify","job_id":"xxxxxxxxxxxx"}