matrix-docker-ansible-deploy icon indicating copy to clipboard operation
matrix-docker-ansible-deploy copied to clipboard

Element Call - feature request

Open razerrazer opened this issue 2 years ago • 16 comments

Hi,

I would like to see an implementation to Element Call. https://github.com/vector-im/element-call

razerrazer avatar Apr 18 '22 20:04 razerrazer

It's a PoC of the WIP, not-yet-merged proposal MSC3401, why would you to bring it to the playbook?

Just build it yourself and run as container alongside with other matrix components

etkecc avatar Apr 19 '22 11:04 etkecc

@razerrazer Automation is nice though.

It looks Cool, but it is very much in beta. I might look into a Pull Request if I get time as prep work for integration into the playbook.

wibbene avatar May 21 '22 15:05 wibbene

Element Call is still in Beta, but I think it is pretty usable.

Updated README with self host instructions: https://github.com/robintown/element-call/tree/readme#host-it-yourself

From: https://github.com/vector-im/element-call/pull/696

enekonieto avatar Nov 02 '22 09:11 enekonieto

Element Call is just a Webclient like Element Web, BUT Element-Web supports Element Call already...

JokerGermany avatar Nov 02 '22 09:11 JokerGermany

I think it is interesting to host Element Call besides Element Web. EC is much easier to start a meetup with people that don't have an account, they only have to click a link and choose a nickname.

I am using Jitsi for this use cases right now, but I would want to migrate to EC.

enekonieto avatar Nov 02 '22 11:11 enekonieto

you know that at the moment you can only use element call for up to 8 person?

JokerGermany avatar Nov 02 '22 13:11 JokerGermany

I didn't know, thanks for the info. Still I think adding EC as optional to this ansible could be interesting (in my case 8 people is enough for almost every situation).

enekonieto avatar Nov 02 '22 14:11 enekonieto

From a quick look, the Element Call docs are unclear about:

  • what is it? Is it just a static page? The README seems to say so. Will it always be static or will it include some backend routes as well? I heard people talking about some SFU. Will that be a separate component or will it be part of Element Call?
  • how it should be self-hosted (are container images available? - seems like there aren't and we need to build our own from the Dockerfile)
  • how it should be tied into element-web / element-desktop when self-hosting? Or is it not meant to be used within Element? Is it only usable when going directly to the Element Call page?
  • is it some room widget (like Jitsi) or can Element Call be used in a more "native" way within Element?
  • is it possible (and if yes, how) to make use of Element Call from other clients

I don't seem to find quick answers to these questions.

We could follow the Host it yourself docs and try to figure it all out (and see if it's actually useful), but.. no one cares enough about it to do it just yet.

spantaleev avatar Nov 02 '22 15:11 spantaleev

From a quick look, the Element Call docs are unclear about:

* what is it? Is it just a static page? The README seems to say so. Will it always be static or will it include some backend routes as well? 

Element Call is just a Client like element Web. https://call.element.io/ The Backend is the synapse server

I heard people talking about some SFU. Will that be a separate component or will it be part of Element Call?

Element Call is only a client => seperate This one: https://github.com/matrix-org/waterfall

* how it should be tied into element-web / element-desktop when self-hosting? Or is it not meant to be used within Element? Is it only usable when going directly to the Element Call page?

It's not meant to be used within element. Element has this build in already in labs grafik (Sorry german)

After activating this you can choose if you want to create a elment call or jitsi call. (only videocall when i tested it) grafik

* is it some room widget (like Jitsi) or can Element Call be used in a more "native" way within Element?

widget

JokerGermany avatar Nov 02 '22 15:11 JokerGermany

@JokerGermany

Element has this build in already in labs

sorry to hijack this issue but my labs settings in Element look different. I can choose to enter the beta "Video rooms" which does not work in my case anyway. But no options related to "Element call"

Element version: 1.11.14 Olm version: 3.2.12

is my Element not recent enough to show those options you showed in your screenshot?

jahlives avatar Nov 11 '22 14:11 jahlives

@jahlives https://github.com/JokerGermany/Matrix-Tipps#how-to-activate-labs-on-element

JokerGermany avatar Nov 11 '22 21:11 JokerGermany

and for the the instance of Element created by matrix-docker-ansible-deploy, set matrix_client_element_showLabsSettings: true in your vars.yml file

Hopefully it will be much less confusing soon https://github.com/matrix-org/matrix-react-sdk/pull/8969

aaronraimist avatar Nov 12 '22 00:11 aaronraimist

@JokerGermany

have to come back on this again, sorry :-) Seems to me that elements-call does not work with our homeserver. I can call the other side and hear that it rings, when other side picks up the ringing stops but the screen remains black. So no video and no voice. Are there any additional settings required for element-call to work properly? Or maybe a turn issue?

Then I tried to add a custom jitsi widget (https://github.com/JokerGermany/Matrix-Tipps#add-jitsi-widget-with-a-custom-url-to-the-room) to the room. Which works via our own jitsi server. Video and voice works but screensharing does not work. Screensharing only works in element-web but not in my element-desktop app. Any idea what goes wrong here?

jahlives avatar Nov 15 '22 14:11 jahlives

The new SFU called waterfall is courtesy the pion project. A description of the components involved to setup element-call locally is documented here

https://github.com/matrix-org/waterfall/blob/main/doc/development.md

saket424 avatar Mar 27 '23 02:03 saket424

There is now livekit being used. Maybe it's worth a look to consider it again.

kubo6472 avatar Sep 18 '23 20:09 kubo6472

https://github.com/vector-im/element-call is now the home of the livekit SFU-enabled call server. From the release v0.5 changelog:

This release has been a while in the making, but brings fully end to end encrypted media, switches to new MatrixRTC session based signalling, has better support for calls on mobile whilst locked, works with the new Element X release as well as a brand new look!

Important things to know:

  • New calls in normal app (SPA, ie. not embeded) mode are now end-to-end encrypted.
  • Calls now need to be created explicitly rather than participants simply choosing the same URL.
  • Existing URLs will continue to work as unencrypted calls. Using a plain call.element.io/callname link that is not already associated with a call will result in an error page.
  • To upgrade your existing calls to e2ee, create new ones and share the new link that includes the key.
  • End to end encryption is supported on Chrome, Safari and also on Firefox with version 117 or newer.

I think this component would be an interesting addition to the ansible setup.

rriemann avatar Sep 27 '23 08:09 rriemann