Switchboard relies on watches as the communication channel for the %switchboard-to-client mark and the %incoming-call mark. If a subscription fails then there is no way to recover dropped messages. In particular, this means that an SDP negotiation could be lost, hanging the call, and a client subscribing during an incoming call has no way to discover the already-ringing call.
There should be a scry namespace for un-acked incoming calls and un-acked incoming messages. This, combined with an acknowledgement mechanism and facts for updates, will allow robust message delivery to the client.
Switchboard relies on watches as the communication channel for the
%switchboard-to-clientmark and the%incoming-callmark. If a subscription fails then there is no way to recover dropped messages. In particular, this means that an SDP negotiation could be lost, hanging the call, and a client subscribing during an incoming call has no way to discover the already-ringing call.There should be a scry namespace for un-acked incoming calls and un-acked incoming messages. This, combined with an acknowledgement mechanism and facts for updates, will allow robust message delivery to the client.