---
gitea: none
include_toc: true
---

# Element Call

Element Call enables users to have audio and videocalls with groups, while
maintaining full E2E encryption.

It requires several bits of software and entries in .well-known/matrix/client

This bit is for later, but here's a nice bit of documentation to start:

https://sspaeth.de/2024/11/sfu/


# Install prerequisites

Define an entry in DNS for Livekit and Call, e.g. `livekit.matrixdev.example.com`
and `call.matrixdev.example.com`. Get certificates for them.

Expand `.well-known/matrix/client` to contain the pointer to the SFU:

```
"org.matrix.msc4143.rtc_foci": [
      {
        "type": "livekit",
        "livekit_service_url": "https://livekit.matrixdev.example.com"
      }
  ]
```

Create `.well-known/element/element.json`, which is opened by Element-web and
ElementX to find the Element Call widget. It should contain something like
this:

```
{
    "call": {
        "widget_url": "https://call.matrixdev.example.com"
    }
}
```

Make sure it is served as `application/json`, just like the other .well-known
files.


# Livekit

Livekit is a small Go program that handles authorization tokens. You'll need a
Go compiler, so install that:

```
apt install golang
```


