On 17-02-2020 14:58, Matthew Wild wrote:
[..]
> > If we have to handle the case where there is no available device to
handle the feature, what is this protocol to be used for?

I don't think there's a way that all cases can be handled perfectly.

I want to expand my original use case with video calls. Our development of calls was in stages: first voice calls, later video. That means that at a certain point, there'd be three types of clients: ones that didn't support calls, ones that supported voice calls, and ones that supported voice and video calls. It is very useful to users to know what they can do in this situation.

Even if your account would signal that there is a registered device that can handle calls, a call attempt might still fail for all kinds of reasons. That's fine. Knowing that there's no such potential device, however, is useful to know, especially in the case where they are not online. A client could choose to not show a button to initiate a call.

Similarly, if your contact has two devices: one capable of voice calls, one capable of video calls, you can offer the user to initiate a video call. Both would ring, and video would simply fail to be negotiated. This is fine, as the contact might also have chosen to only respond with voice, even if offered video.

In short: service discovery is a way to better inform the other party of possible interaction patterns. It is not a guarantee that they actually succeed.

--
ralphm
_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to