This problem is not specific to the Calls SFU at all. If you have a P2P connection the ICE connection events will tell you when the connection got interrupted. But when using a SFU every endpoints PeerConnection terminates at the SFU you no longer have any visibility directly into the state of the connections of the other endpoints.
To me the obvious solution is to use the signaling server, since you need one to establish the connections between the endpoints and the SFU anyway.
The only other alternative would be if the SFU sends some kind of event notification about the broken PeerConnection of one of the endpoints to all other endpoints. The Calls SFU doesn’t support this, and AFAIK no other SFU supports something like this directly in their respective media servers/SFUs.
However, once the session is established, the connection to the SFU doesn’t rely on the signaling server anymore. Even if the signaling server disconnects, the client should still remain connected to the Cloudflare SFU.
It would’ve been much better if the client received a disconnection event / track removed event from the SFU itself, since it’s directly dependent on that connection.
But when you drop the connection to the signaling server do you assume no other party is going to join the room (assuming you have room concept)? There is no need to renegotiate for example for a screen share?
And even if the SFU would send you an event, what would do afterwards: wouldn’t the remaining client need to re-establish the connection to the signaling server to be able to restore the call?
I’m aware of use cases where the endpoints drop the connection to the signaling server after the initial connection for a P2P call has been successfully established. Because then both endpoints use the data channel inside the PeerConnection for further negotiations among them, e.g. for screen share etc.
However that use case is a pure P2P call with no SFU involved. You can build that completely outside of Cloudflare Calls as well, with a signaling server and Cloudflare TURN service to assist the endpoints in connecting.