element-web
element-web copied to clipboard
Add a config option to allow Jitsi to be used for 1:1 calls
If this config feature is enabled, then when a call is started in a DM room, it should initiate a Jitsi flow instead of a 1:1 call.
As @SimonBrandner told me, I've duplicated the issue in https://github.com/vector-im/element-web/issues/19249.
Here is my reason to request this feature:
Why would you like to do it?
We are running a Synapse/Element combination at our department at the technical university of Darmstadt with a large number of public rooms for different courses for students. Currently, the UX for calls is very different in personal rooms and in group rooms. It would be nice to be able to completely disable the 1-to-1 call feature for all element clients on our instance to also use Jitsi in personal rooms.
Here is my copy-pasted "solution proposal":
How would you like to achieve it?
Two configuration options:
- For the web-based version, via a configuration option, e.g.:
"disable_direct_calls": true,
- For all other clients (desktop app, mobile apps, etc.), via a homeserver well-known directive, e.g. with nginx:
location /.well-known/matrix/client {
default_type "text/plain";
add_header Access-Control-Allow-Origin *;
return 200 '
{
"m.homeserver": {
"base_url": "https://my-server.tld"
},
"im.vector.riot.jitsi": {
"preferredDomain": "my-jitsi.tld"
},
"im.vector.riot": {
"disable_direct_calls": "true"
}
}';
}
If I may add an extra motivation for this feature: it would possibly make it easier to have 1-1 calls working for homeservers that are behind a NAT, as it's almost impossible to get TURN working when behind a NAT, while Jitsi can work with it.
I wish you could prefer jitsi or elementcall for 1:1 calls. Based on this part of the config: And using the naming from the matrix spec. I think a better name would be:
"jitsi": {
"preferred_domain": "meet.element.io",
"enable_for_dm": "true"
},
"element_call": {
"url": "https://call.element.io",
"participant_limit": 8,
"brand": "Element Call",
"enable_for_dm": "true"
},
If you'd set this var as true, it would use the default voip widget instead of the specific webrtc element implementation.
reading through the discussions and commits, I am unsure how to actually implement the config in well-known enabling Jitsi for 1to1calls as well for conferencecalls using Matrix-Synapse with the Element Client? Or will the above only work for an "element web" Configuration?
Conference Calls work in my tests with Jitsi but for 1to1calls Jitsi is not used. An example for "/.well-known/matrix/client" would be most welcome.
@amsnek https://github.com/element-hq/element-meta/blob/develop/docs/client_well_known.md#jitsi-configuration is the doc. I suggest not using an old closed issue, visit a room for help, this isn't a support forum to begin with.