spantaleev / matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
GNU Affero General Public License v3.0
4.93k stars 1.05k forks source link

setup element call as an alternative to jitsi #3559

Open BentEngbers opened 2 months ago

BentEngbers commented 2 months ago

Element recently announced that element call is enabled by default in element x and element desktop https://element.io/blog/we-have-lift-off-element-x-call-and-server-suite-are-ready.

There is documentation available about how to setup element call with the latest LTS version of ESS https://ems-docs.element.io/books/element-on-premise-documentation-lts-2404/page/setting-up-element-call.

Maybe we can track progress in this issue?

wjbeckett commented 2 months ago

I have created a PR to try and add Element call to the playbook. https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562

saket424 commented 1 month ago

@wjbeckett I have not successfully seen media flowing through the livekit instance and I am trying to understand why the PR works you and not me

I tried both element-web and element-call and I see a blank screen in the call window

saket424 commented 1 month ago

Failed to get JWT from RTC session's active focus URL of https://sfu-jwt.example.com. Error: SFU Config fetch failed with exception Error: SFU Config fetch failed with status code 500 at sit (openIDSFU.ts:112:11) at async iit (openIDSFU.ts:71:23)

saket424 commented 1 month ago

@wjbeckett I am running into this error. Any ideas?

curl 'https://sfu-jwt.example.com/sfu/get' \
  -H 'accept: */*' \
  -H 'accept-language: en-US,en;q=0.9' \
  -H 'content-type: application/json' \
  -H 'origin: https://call.example.com' \
  -H 'priority: u=1, i' \
  -H 'referer: https://call.example.com/' \
  -H 'sec-ch-ua: "Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Linux"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-site' \
  -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36' \
  --data-raw $'{"room":"\u0021LnRtKxZsUjMPQMglJG:example.com","openid_token":{"access_token":"ufGRjCpkiMshdZWBSERZOgCU","expires_in":3600,"matrix_server_name":"example.com","token_type":"Bearer"},"device_id":"IDJBAOGUMV"}'

{"errcode":"M_LOOKUP_FAILED","error":"Failed to look up user info from homeserver"}
wjbeckett commented 1 month ago

@saket424 yes, ita because it's expecting to lookup a user in Matrix Authentication Service (MAS), which isn't implement in this playbook yet. MAS is a requirement of Element Call Sonita can perform user lookups. You'll notice the error in your last comment references openID (openIDSFU.ts:71:23).

saket424 commented 1 month ago

@wjbeckett If you have a temporary standalone MAS recipe that I can augment with your nearly complete element-call PR, I would be grateful and ready to try it even if it is not fully in ansible

Here is another blog post I cam across related to MAS just as a reference

https://sspaeth.de/2024/08/matrix-server-with-nextcloud-login/

ilterugur commented 1 month ago

@wjbeckett I've downloaded your version and applied it to my server. I've even seen Update Element Call configuration in config.json and Update Element Call configuration in config.json tasks were succeed. But still, it's sending request to "https://livekit-jwt.call.element.io/sfu/get" when I check network tab on my browser while joining video rooms. I've tried to reset browser cache and disable cloudflare cache but still it is same. I'm getting "Failed to look up user info from homeserver" error, also with Delayed events are not supported on this server (not sure if this one is related) Is there any way to fix it for now?