8 .ds RF FORMFEED[Page %]
17 Network Working Group P. Riikonen
19 draft-riikonen-presence-attrs-00.txt XXX
25 User Online Presence and Information Attributes
26 <draft-riikonen-presence-attrs-00.txt>
31 This document is an Internet-Draft and is in full conformance with
32 all provisions of Section 10 of RFC 2026. Internet-Drafts are
33 working documents of the Internet Engineering Task Force (IETF), its
34 areas, and its working groups. Note that other groups may also
35 distribute working documents as Internet-Drafts.
37 Internet-Drafts are draft documents valid for a maximum of six months
38 and may be updated, replaced, or obsoleted by other documents at any
39 time. It is inappropriate to use Internet-Drafts as reference
40 material or to cite them other than as "work in progress."
42 The list of current Internet-Drafts can be accessed at
43 http://www.ietf.org/ietf/1id-abstracts.txt
45 The list of Internet-Draft Shadow Directories can be accessed at
46 http://www.ietf.org/shadow.html
48 The distribution of this memo is unlimited.
66 1 Introduction .................................................. x
67 1.1 Requirements Terminology .................................. x
69 4 Security Considerations ....................................... x
70 5 References .................................................... x
71 6 Author's Address .............................................. x
85 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
86 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
87 | Attribute | Attr Flags | Attribute Length |
88 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
92 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
96 Figure 1: Attribute Payload
100 o Attribute (1 byte) - Indicates the attribute included in this
103 o Attribute Flags (1 byte) - Indicates the flags associated
104 with this attribute. The following flags are defined:
106 0x01 ATTRIBUTE_FLAG_INVALID
108 The attribute value in Attribute Data is invalid, or
109 unknown. This may be set to indicate that a requested
110 attribute is not available, its value is unknown, or
111 sender does not understand it.
113 0x02 ATTRIBUTE_FLAG_VALID
115 The attribute value is included in the Attribute Data.
117 When sending this payload to request attributes this value
118 MUST be set to zero (0) value. When sending a reply to the
119 request this field MUST NOT include a zero (0) value.
121 o Attribute Length (2 bytes) - Indicates the length of the
122 Attribute Data field, not including any other field.
124 o Attribute Data (variable length) - The Attribute Data.
125 The contents of this field is attribute specific, defined
132 The following values can appear in the Attribute field in the
133 Attribute Payload to indicate the content of the attribute. All
134 integer values are stored in the MSB first order. Strings are
135 always UTF-8 [RFC2279] encoded, and include 2 bytes length field
136 indicating the length of the string. Hence, when string value
137 appears in this documentation it is encoded as:
141 2 bytes integer Length of String field
142 variable UTF-8 String
145 If string is not present then the length field includes zero (0)
148 The format of the attribute data is represented as length, type and
153 2 bytes integer Some integer value
154 variable string Some string
155 1 byte boolean Boolean value
158 When sending multiple Attribute Payloads it is possible to include
159 multiple same attributes in the packet.
165 This attribute is reserved and it is never sent.
168 1 ATTRIBUTE_USER_INFO
170 This attribute includes general information about the user, their
171 name and contact information. The content of this attribute is
172 a VCard version 3.0 as defined in RFC 2425 [RFC2425] and RFC 2426
173 [RFC2426]. Note that some of the information that VCard provides
174 can be also provided in the means of providing other attributes.
175 The rationale for this is that the VCard does not provide all the
176 information, or with the required precision that may be desired in
177 some applications. It is therefore RECOMMENDED that this attribute
178 would be used to provide only basic and constant user information,
179 such as name and contact information, but not online status
183 variable VCard Basic user information
188 This attribute indicates a service in the Internet that the user
189 is currently using or has logged in. The value of this attribute
193 4 bytes integer Service Port (IANA specified)
194 variable string Service Address
195 1 byte boolean Online status. If this is set to
196 0x01 (true) it means the user is online
197 in the service. Set to 0x00 (false) when
201 x ATTRIBUTE_STATUS_MOOD
205 x ATTRIBUTE_STATUS_FREETEXT
207 This attribute includes the user's online status free text. It
208 can provide personal status as a text message. The contents of
209 this attribute is a UTF-8 encoded free text string.
212 variable string Free text status string
215 x ATTRIBUTE_STATUS_MESSAGE
217 This attribute includes the user's online status message. It
218 could provide for example a multi media message showing the status
219 of the user. The contents of this attribute is a MIME object,
220 which can be used to provide for example video, audio, image or
221 other similar status message. It could also provide a reference
222 to the message, for example an URL address.
225 variable MIME Status message as MIME object
228 x ATTRIBUTE_STATUS_COMMUNICATION
233 x ATTRIBUTE_PREFERRED_LANGUAGE
236 x ATTRIBUTE_PREFERRED_CONTACT
241 This attribute can be used to provide the current local time for
242 the user. The contents of this attribute is a UTF-8 encoded
243 string and the format of the string is UTC time zone defined
247 variable string UTC date, format as in ISO 8601
249 Note that ATTRIBUTE_USER_INFO may also provide this information.
250 However it is RECOMMENDED that this attribute is used when
251 current time zone information is provided.
254 x ATTRIBUTE_GEOLOCATION
256 This attribute can be used to provide measured global location of
257 the user. How this information is gathered is out of scope of
258 this document. The attribute can provide latitude and longitude
259 lateral positions, but also a vertical position. A parameter
260 describing the accuracy of the information can also be provided.
264 Note that ATTRIBUTE_USER_INFO may also provide this information,
265 however it does not have the vertical position, or the accuracy
266 parameter. It is RECOMMENDED that this attribute is used when
267 providing current global position information.
270 x ATTRIBUTE_DEVICE_INFO
273 x ATTRIBUTE_EXTENSION
275 This attribute indicates that the attribute value is vendor,
276 application or service specific attribute extension. This field
277 MUST include MIME object, which is the extension value. This
278 document does not specify any explicit MIME objects for this
282 variable MIME Attribute extension as MIME object
285 x ATTRIBUTE_USER_PUBLIC_KEY
287 This attribute includes the user's public key or certificate.
288 As the public key and certificate format depends on which sort
289 of algorithm or certificate encoding user is using we need to
290 define a mechanism to differentiate the public key types from
291 each other. This document specifies the most common public keys
292 and certificates. This attribute can be used to deliver the
293 user's public key, and it MUST be present if also the
294 ATTRIBUTE_USER_DIGITAL_SIGNATURE is present. Note that the
295 recipient of this attribute SHOULD verify the public key from
296 a third party, for example from Certification Authority.
299 variable string Public key/certificate type
300 variable data Public key/certificate data
302 The following public key/certificate types are defined:
304 ssh-rsa SSH RSA public key [SSH-TRANS]
305 ssh-dss SSH DSS public key [SSH-TRANS]
306 silc-rsa SILC RSA public key [SILC1]
307 silc-dss SILC DSS public key [SILC1]
308 pgp-sign-rsa OpenPGP RSA certificate [RFC2440]
309 pgp-sign-dss OpenPGP DSS certificate [RFC2440]
310 x509v3-sign-rsa X.509 Version 3 RSA certificate [RFC2459]
311 x509v3-sign-dss X.509 Version 3 DSS certificate [RFC2459]
313 These public key/certificate types are equivalent to the types
314 specified for SSH protocol [SSH-TRANS] and are expected to be
315 officially assigned by IANA. The silc-rsa and silc-dss are not
316 currently specified in SSH, however they are considered to be
317 IANA assigned later anyway.
319 The encoding of the public key/certificate data in the attribute
320 is done in the manner defined in their respective definitions.
322 Note that these public keys are intended for signing. Some
323 certificates may have a key usage restrictions and same key cannot
324 be used for both encryption and signing. Therefore, the name
325 of the certificate type indicates that they are intended for
329 x ATTRIBUTE_SERVER_PUBLIC_KEY
331 This attribute includes a third party server or authority public
332 key or CA certificate and MUST be present if the attribute
333 ATTRIBUTE_SERVER_DIGITAL_SIGNATURE is also present. The format
334 for this attribute is identical to the ATTRIBUTE_USER_PUBLIC_KEY
338 x ATTRIBUTE_USER_DIGITAL_SIGNATURE
340 This attribute value includes digital signature of all Attribute
341 Payloads except this attribute. This signature can be provided by
342 the user. This attribute SHOULD be last attribute provided in the
343 reply so that it is easier for the receiver to compute the signature
344 data to be verified. The format and encoding of this attribute
345 depends on the public key or certificate used to produce the
346 signature. See the ATTRIBUTE_USER_PUBLIC_KEY for all public keys
347 and certificates that can be used to produce a signature.
350 variable data Digital signature data
352 The encodings are as follows per public key/certificate type:
354 ssh-rsa and ssh-dss Defined in [SSH-TRANS]
355 silc-rsa and silc-dss Defined in [SILC1]
356 pgp-sign-rsa and pgp-sign-dss Defined in [RFC2440]
357 x509v3-sign-rsa and x509v3-sign-dss Defined in [PKCS7]
359 The procedure producing the signature and encoding it are done
360 in the manner defined in their respective definitions, see the
364 x ATTRIBUTE_SERVER_DIGITAL_SIGNATURE
366 This attribute value includes digital signature of all Attribute
367 Payloads except this attribute, but including the attribute
368 ATTRIBUTE_USER_DIGITAL_SIGNATURE. This signature can be provided
369 by a third party server or an authority which has verified the
370 information provided by the user. How it verifies this information
371 is out of scope of this document, however it may base its
372 information to a previous registeration information and current
373 online status of the user in a service. This attribute SHOULD be
374 last when provided, so that it is easier for the receiver to
375 compute the signature data to be verified. The format for this
376 attribute is identical to the ATTRIBUTE_USER_DIGITAL_SIGNATURE
382 4 Security Considerations
395 Snellmanninkatu 34 A 15
399 EMail: priikone@iki.fi
401 This Internet-Draft expires XXX