On 01.04.2015 13:52, Cramer, E.R. (Eelco) wrote:
Hi,
Paragraph 5.1 of XEP-0347 says it is only needed to ‘become friends’
with the Thing registry if the registry isn’t a server component.
5.1 JID vs Component Thing Registries
A client must treat the connection between a Thing Registry
differently if it is hosted as a client, having a JID, or if it is
hosted as a Jabber Server Component. If it is hosted as a server
component, there's no need for the thing to become friends with the
Thing Registry. Messages and requests can be made directly to the
server component without having to add it to the roster or request
presence subscriptions. If the Thing Registry is hosted as a client,
having a JID (@ in the address), the Thing Registry must be added to
the roster of the client before the client can communicate with the
Thing Registry.
However, for the registry to determine if a Thing is online or offline
(to check if it is able to notifiy it about claimed, disowned and
removed states) the Thing registry needs a presence subscription with
the Thing. This does not mean that the Thing also has a presence
subscription on the registry but there must be some kind of ‘friendship’
relation between the 2. So the text above is ambiguous in my opinion.
Also paragraph “3.6 Registering a Thing” states that a Thing must find
and befriend a registry before the Thing can register itself with the
registry.
Should paragraph 5.1 be updated or removed?
I'm by no means an XMPP-IoT expert but XEP-347 § 5.1:
1. appears to mix the IoT "friend" concept with presence
subscription/roster state.
2. "If the Thing Registry is hosted as a client …, the Thing Registry
must be added to the roster of the client before the client can
communicate with the Thing Registry." There is usually no reason to be
in each others roster in order to exchange data/communicate.
re 1. It is unclear if "become friends" means "subscribe to the
presence" or in terms of XEP-324 § 3.2, because it first says "if
component, then no need to become friends" but then "if client, then
must be added to the roster".
I think § 5.1 needs some some clarification.
The whole IoT XEPs should put more effort into stressing the fact that
"friendship" in IoT is not "having you in the roster", which unaware
readers may think. I suggest adding a 'Friend' item to § 2. Glossary
pointing to XEP-324 § 3.2.
- Florian