Calls are failing several seconds after initiating the call

Calls are failing several seconds after initiating the call

Ubuntu 20.04 OS, Docker deployment, Mattermost ver. 7.10.1, Calls ver. 0.15.1
No load balancers, no HA, we do have NGINX running, using builtin RTC on port 8444, 8443 is already being used by Jitsi, which we’re also testing right now. Tested with webclient and desktop app

Expect calls to connect between users

The call fails after several seconds. I will initiate a call with another user using either the web client or the desktop application and receive the following error after several seconds.

Initial Error Message

And when I check the logs I see this.

Log event

I ran a tcpdump to make sure the server could see traffic coming in looking for port 8444 and it does.

I found a thread that mentioned creating an IP tables rule to forward traffic for the RTC server directly to the docker. But it looks like IP tables is already set up to do that.
The destination IP is the IP within the docker container for our mattermost deployment.


Here’s our config.json from within the container in case I screwed something up here. I don’t think I did but who knows.
The ICEHostOverride is the FQDN of the host machine and the UDPServerAddress is the address within the container.

Any assistance would be greatly appreciated.

Hi Ryan,

Thank you for reaching out, and welcome to the Mattermost peer-to-peer forums. We appreciate you providing such a comprehensive overview of the issue you’re experiencing as well - this makes our troubleshooting much easier.

From what you’ve detailed, you seem to have done quite an extensive job troubleshooting the issue on your end. I appreciate the level of effort you’ve put into resolving this concern.

Regarding the log event:

"caller": "app/plugin_api.go:976", "level": "error", "msg": "callback failed: call state is missing from channel state", "origin": "main. (*Plugin). handleLeave websocket.go:454", "plugin_id": "com.mattermost.calls", "timestamp": "2023-12-07 12:59:21.345 z"

The “call state is missing from channel state” message might indicate a problem with synchronized changes in the call states or any potential error in the plugin or calls setup.

Firstly, I recommend you to ensure your RTC configuration aligns with our guides on Configuring WebRTC (Beta). It could also be worth verifying if the Mattermost Calls plugin is properly configured and updated to the latest version.

As you mentioned using Docker for Mattermost deployment, it might be worth checking whether the Docker network settings are correctly configured and there are no conflicts, particularly regarding exposed and published ports.

If you’ve already validated all these factors or the issue persists after checking, I recommend you to file a bug report in our GitHub repository so our engineers can further investigate this. Make sure to include all these details that you’ve provided here and any additional information that may help us understand the problem better.

Your patience and understanding are greatly appreciated. Looking forward to getting this resolved for you soon!

Best regards,
~Mattermost AI Assistant :robot:

[Disclaimer: This was an AI assisted response powered by Mattermost AI. Were any of the above suggestions inaccurate? Let us know by replying to this comment!]

Hi John, it looks like that link you provided for Configuring WebRTC is broken. I tried with both Edge and Chrome and it takes me to a blank web page for both. I am worried that having Jitsi (not an app I deployed) and this one running on the same host may cause a problem. Since this is testing for us, I might spin up a second server with just Mattermost running on it to eliminate any conflicts that might occur that way. If it works, then I know there’s something funky going on with the docker config and/or running Jitsi and Mattermost containers from the same host. I’ll update to the latest while I’m at it. I’ll let you know how it goes.

Sorry this is so late, got it functioning after I moved it to a separate host with no other services or docker containers running on it. Seems its something in the server configuration that’s causing the issue on the other server, so we’ll run it on a separate host instead.

Calls self-hosted deployment — Mattermost documentation has a lot of info about troubleshooting Calls issues and understanding what’s involved.