Added nick TXT key; added note about use of AAAA records with IPv6; specified that from and to addresses are recommended for stream headers; specified that stream features should be sent.
In order to advertise its availability for link-local messaging, a client MUST publish four different kinds of DNS records:
An address ("A") record of the following form:
+An address ("A" or "AAAA") record of the following form:
@@ -148,6 +154,7 @@ _presence._tcp.local. port-number IN PTR username@machine-name._presence._tcp.lo
It is OPTIONAL to include any of these TXT keys, since link-local messaging can be used by non-human entities (e.g., devices) and these keys relate to human users. However, for use by humans, certain keys are of greater interest than others, e.g. the "msg" and "status" keys. See also the Security Considerations section of this document regarding the inclusion of information that may have an impact on personal privacy (e.g., the "1st", "last", "email", and "jid" keys).
+It is OPTIONAL to include any of these TXT keys, since link-local messaging can be used by non-human entities (e.g., devices) and these keys relate to human users. However, for use by humans, certain keys are of greater interest than others, e.g. the "msg" and "status" keys. See also the Security Considerations section of this document regarding the inclusion of information that may have an impact on personal privacy (e.g., the "1st", "last", "nick", "email", and "jid" keys).
In order to exchange link-local messages, the sender and recipient MUST first establish XML streams between themselves, as is familiar from RFC 3920.
-First, the initating party opens a TCP connection at the IP address and port discovered via the DNS lookup for a local entity and opens an XML stream to the recipient with no 'to' or 'from' address:
+First, the initating party opens a TCP connection at the IP address and port discovered via the DNS lookup for a local entity and opens an XML stream to the recipient, which SHOULD include 'to' and 'from' address:
The recipient then responds with a stream header as well:
The recipient SHOULD also send stream features as specified in RFC 3920:
+The exchange of stream headers results in an unencrypted and unauthenticated channel between the two entities. See the Security Considerations section of this document regarding methods for authenticating and encrypting the stream.
This document requires no interaction with the ®ISTRAR;.
Thanks to Justin Karneges, Jens Alfke, and Marc Krochmal for their input.
+Thanks to Jens Alfke, Justin Karneges, Marc Krochmal, and Sjoerd Simons for their input.