5 ms·
Does someone know more about the architecture of Signal's group calls? From looking at the ringrtc source, it seems that the calls are not fully meshed, but use
by dbrgn 6y ago
Does someone know more about the architecture of Signal's group calls? From looking at the ringrtc source, it seems that the calls are not fully meshed, but use some kind of group key and a SFU for server-side media distribution. Is that correct?
- pthatcherg 6y agoI work at Signal and wrote much of that code, so I'm familiar with it :). Yes, it uses a server for media distribution and uses encryption keys that the server does not know.
- dbrgn 6y agoThanks! Since I've also written a lot of audio/video call code, it's always interesting to learn about design choices of other applications. Do you rotate the group key regularly and/or on group events (e.g. a person leaving the group call)? What SFU do you use, and did it require custom modifications? Or is it even a fully custom server-side solution?
- pthatcherg 6y agoWe rotate the keys whenever someone joins or leaves, although the mechanism is more efficient when someone joins than one someone leaves. I don't think we've made the SFU repository public yet, so I don't think I can comment on that yet. Likely I'll be able to in the future.