2024-11-12 15:38:05 +01:00
|
|
|
---
|
|
|
|
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/
|
|
|
|
|
2024-11-18 17:31:38 +01:00
|
|
|
|
|
|
|
# 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
|
|
|
|
```
|
|
|
|
|
|
|
|
|