Hello!
We use SFU cascading in our implementation to scale video rooms across several servers. The servers belong to the same private network, so publishing remotely across the servers via plain RTP makes obvious sense.
However, there is always this tiny risk of scenarios where a RTP stream being received on a set of ports is somehow reassigned to a different video room. One simple example is, say, that Janus crashes on a server, but the other Janus servers were still publishing RTP streams to it. If Janus is restarted again, and the other servers weren’t aware of this, then these ports could eventually get assigned to a different remote publisher, causing 2 different RTP streams being pushed to that port. This case, of course, should be avoided by the infrastructure using Janus, i.e, broadcast to all other Janus servers to remove remote publishers to this server before the Janus process is restarted. But it may not always be possible to capture all sorts of freak scenarios (i.e the signalling going bad, undiscovered bugs in the infrastructure code).
If remote publishers were to support SRTP, then we would at least be sure that we don’t end up forwarding a different stream, even if we mess up elsewhere.
I just wanted an opinion on whether supporting SRTP for remote publishers makes sense, or if is there some other clever trick we could consider to avoid such scenarios (for eg. identify that there are 2 different RTP streams being pushed on a port, and avoid forwarding altogether).
Thanks!
Archit