Calls plugin is not working in EKS - AWS Kubernetes Service

Hello Forum,

We are deploying Mattermost 7.9.1 in EKS cluster, it comes with preinstalled “Calls” plugin. But it drops calls automatically after 10-20 seconds without successful connection.

As I found we have opened port for UDP 8443, but calls never connects.

Can you please tell me the default settings, I have played around configurations, what it should be now?

Calls plugin version: 0.14.0

Calls plugin setting screeshot 1:

Screenshot 2: Screenshot by Lightshot

Logs:


{"timestamp":"2023-03-21 15:39:58.410 Z","level":"debug","msg":"GetTemplates","caller":"app/plugin_api.go:970","plugin_id":"focalboard","teamID":"thu179r3xbnm8x7f5jtmakzj7o","boardsCount":"0"}
{"timestamp":"2023-03-21 15:39:58.417 Z","level":"debug","msg":"GetBoards","caller":"app/plugin_api.go:970","plugin_id":"focalboard","teamID":"thu179r3xbnm8x7f5jtmakzj7o","boardsCount":"0"}
{"timestamp":"2023-03-21 15:39:59.505 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"POST","url":"/api/v4/users/status/ids","request_id":"e1xcyec9gjfy8yny9tyuw7t6qr","status_code":"200"}
{"timestamp":"2023-03-21 15:40:00.395 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"1huq3qik6tnhzdyotqjsqq9use","status_code":"200"}
{"timestamp":"2023-03-21 15:40:09.531 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"tq34sdzfbtyxpewpgjpebk4q6o","status_code":"200"}
{"timestamp":"2023-03-21 15:40:11.211 Z","level":"debug","msg":"Websocket request","caller":"wsapi/websocket_handler.go:26","action":"user_update_active_status"}
{"timestamp":"2023-03-21 15:40:11.412 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"POST","url":"/api/v4/users/status/ids","request_id":"hizhsq7a3f8qx8j8rw8aiok4ma","status_code":"200"}
{"timestamp":"2023-03-21 15:40:15.395 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"reifp87tx3fuurmawq39ep5ppo","status_code":"200"}
{"timestamp":"2023-03-21 15:40:16.825 Z","level":"debug","msg":"Cleaning up token store.","caller":"app/server.go:1231"}
{"timestamp":"2023-03-21 15:40:16.825 Z","level":"debug","msg":"Cleaning up command webhook store.","caller":"sqlstore/command_webhook_store.go:93"}
{"timestamp":"2023-03-21 15:40:22.837 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"POST","url":"/api/v4/users/status/ids","request_id":"etnpafbe67n4mfe1otc89rr6no","status_code":"200"}
{"timestamp":"2023-03-21 15:40:24.532 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"nxcximbqdf8xxgojahepc48m5h","status_code":"200"}
{"timestamp":"2023-03-21 15:40:28.561 Z","level":"debug","msg":"notify loop - no hints in queue","caller":"app/plugin_api.go:970","plugin_id":"focalboard","next_check":"\"2023-03-21 16:40:28.561 Z\""}
{"timestamp":"2023-03-21 15:40:28.561 Z","level":"debug","msg":"subscription notifier loop","caller":"app/plugin_api.go:970","plugin_id":"focalboard","next_notify":"\"2023-03-21 16:40:28.561 Z\""}
{"timestamp":"2023-03-21 15:40:30.395 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"8byprkx1p78r7bxupd8byu41jo","status_code":"200"}
{"timestamp":"2023-03-21 15:40:33.155 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"POST","url":"/api/v4/users/status/ids","request_id":"663c5p9z4pgaufktinx7uip3nc","status_code":"200"}
{"timestamp":"2023-03-21 15:40:39.531 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"o8tp1ojrkfrudehxuj9kwp5mch","status_code":"200"}
{"timestamp":"2023-03-21 15:40:45.395 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"86pbqke8ajgufraaknwe3w9xbo","status_code":"200"}
{"timestamp":"2023-03-21 15:40:48.695 Z","level":"debug","msg":"Websocket request","caller":"wsapi/websocket_handler.go:26","action":"user_update_active_status"}
{"timestamp":"2023-03-21 15:40:48.695 Z","level":"debug","msg":"Websocket request","caller":"wsapi/websocket_handler.go:26","action":"user_update_active_status"}
{"timestamp":"2023-03-21 15:40:48.700 Z","level":"debug","msg":"Websocket request","caller":"wsapi/websocket_handler.go:26","action":"user_update_active_status"}
{"timestamp":"2023-03-21 15:40:54.531 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"qa49pdr8s3ds5pquzt8a5d6bzc","status_code":"200"}
{"timestamp":"2023-03-21 15:40:57.098 Z","level":"debug","msg":"websocket.NextReader: closing websocket","caller":"platform/web_conn.go:828","user_id":"b6yn6fc6kjd8byju5w7jhtuxua","error":"websocket: close 1006 (abnormal closure): unexpected EOF"}
{"timestamp":"2023-03-21 15:40:57.098 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/websocket","request_id":"u6ssuczhgp84xpz3nkfxgiwpfw"}
{"timestamp":"2023-03-21 15:40:58.176 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"POST","url":"/api/v4/users/status/ids","request_id":"hatikngqctd89qfn7erx7k6ryw","status_code":"200"}
{"timestamp":"2023-03-21 15:41:00.396 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/system/ping","request_id":"giwyydmmobb1xm5etgkrac8fnr","status_code":"200"}
{"timestamp":"2023-03-21 15:41:00.736 Z","level":"debug","msg":"inactive connection found for webconn, reusing","caller":"app/plugin_api.go:970","plugin_id":"focalboard","webConnID":"gz6jj6b34prkidgw411krgjdwy","userID":"b6yn6fc6kjd8byju5w7jhtuxua"}
{"timestamp":"2023-03-21 15:41:00.839 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/users/me/teams/thu179r3xbnm8x7f5jtmakzj7o/channels/members","request_id":"4fispdst73diiy6rybib4ctq4e","status_code":"200"}
{"timestamp":"2023-03-21 15:41:00.842 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/users/me/teams/thu179r3xbnm8x7f5jtmakzj7o/channels","request_id":"ib6p5hggjfd17ktsu4hfmt4f5e","status_code":"304"}
{"timestamp":"2023-03-21 15:41:00.846 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/plugins/webapp","request_id":"7fau5aqhqjgdmqdj75y7bysrny","status_code":"200"}
{"timestamp":"2023-03-21 15:41:00.847 Z","level":"debug","msg":"Received HTTP request","caller":"app/plugin_api.go:970","plugin_id":"playbooks","user_id":"b6yn6fc6kjd8byju5w7jhtuxua","request_id":"aa51i7jjepfj5q7mkcqfu9p6ge","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.160 Electron/18.3.0 Safari/537.36 Mattermost/5.1.1","method":"GET","url":"/api/v0/runs?page=0&participant_id=b6yn6fc6kjd8byju5w7jhtuxua&per_page=0&team_id=thu179r3xbnm8x7f5jtmakzj7o","plugin_caller":"github.com/mattermost/mattermost-plugin-playbooks/server/api/logger.go:44"}
{"timestamp":"2023-03-21 15:41:00.850 Z","level":"debug","msg":"Received HTTP request","caller":"web/handlers.go:171","method":"GET","url":"/api/v4/users/me/teams/unread","request_id":"rppg4a7b8brdxqzx7k4mnigizw","status_code":"200"}

I have lost my mind, please help!

Hi @avinash and welcome to the Mattermost forums!

Did you follow these instructions?
https://docs.mattermost.com/configure/calls-deployment.html#kubernetes-deployments

Thank you for reply @agriesser !

Do we need RTCD to make calls work in EKS? Is Calls self-hosted deployment — Mattermost documentation is not suitable in EKS?

If we go with RTCD self deployment using mattermost/mattermost-rtcd helm chart, do we need to enable ingress? Can we update the RTCD endpoint in Mattermost Calls plugin setting in Mattermost Team Edition?

What settings needs to be updated in Calls plugin incase I want to use Teams Edition?

Thank you!

The problem is that the default ingress controllers do not support the udp streams and you need to fiddle around to with the setup and it involves quite some effort (from what I read in the community forums) to make it work and I’m unfortunately unable to help here, but maybe @streamer45 could help me out here?

@agriesser @streamer45

Do I need to expose container on multiple ports like it’s for TCP - 8065 currently and I need to expose it on UDP-8443 port as well?

I am using HELM Chart to deploy it, and it’ using Docker image.

As I found in Dockerfile(mattermost-server/Dockerfile at master · mattermost/mattermost-server · GitHub) it only exposed on 8065 8067 8074 8075 ports.

resolved, followed: peer error Error: Connection failed. · Issue #101 · mattermost/mattermost-plugin-calls · GitHub

Glad to hear you got it working and thanks for providing a link to the solution!