draft-ietf-calsch-locating-02.txt   rfc2739.txt 
Network Working Group Tony Small, Microsoft Corporation Network Working Group T. Small
INTERNET-DRAFT Denis Hennessy, ISOCOR Request for Comments: 2739 XpertSite.Com
Calendaring and Scheduling Working Group Frank Dawson, Lotus Category: Standards Track D. Hennessy
Expires six months after April 1, 1999 ISOCOR
F. Dawson
Calendar attributes for vCard and LDAP Lotus
January 2000
draft-ietf-calsch-locating-04.txt Calendar Attributes for vCard and LDAP
Status of this Memo Status of this Memo
This memo is an Internet-Draft and is in full conformance with all This document specifies an Internet standards track protocol for the
provisions of Section 10 of RFC2026. Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Internet-Drafts are working documents of the Internet Engineering Task Official Protocol Standards" (STD 1) for the standardization state
Force (IETF), its areas, and its working groups. Note that other groups and status of this protocol. Distribution of this memo is unlimited.
may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Distribution of this document is unlimited. Copyright Notice
Copyright (C) The Internet Society 1999. All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract Abstract
When scheduling a calendar entity, such as an event, it is a When scheduling a calendar entity, such as an event, it is a
prerequisite that an organizer has the calendar address of each attendee prerequisite that an organizer has the calendar address of each
that will be invited to the event. Additionally, access to an attendee's attendee that will be invited to the event. Additionally, access to
current "busy time" provides an a priori indication of whether the an attendee's current "busy time" provides an a priori indication of
attendee will be free to participate in the event. whether the attendee will be free to participate in the event.
In order to meet these challenges, a calendar user agent (CUA) needs a In order to meet these challenges, a calendar user agent (CUA) needs
mechanism to locate (URI) individual user's calendar and free/busy time. a mechanism to locate (URI) individual user's calendar and free/busy
time.
This memo defines three mechanisms for obtaining a URI to a user's This memo defines three mechanisms for obtaining a URI to a user's
calendar and free/busy time. These include: calendar and free/busy time. These include:
- Manual transfer of the information; - Manual transfer of the information;
- Personal data exchange using the vCard format; and - Personal data exchange using the vCard format; and
- Directory lookup using the LDAP protocol. - Directory lookup using the LDAP protocol.
Table of Contents Table of Contents
1 CALENDARING AND SCHEDULING URIS......................................5 1 CALENDARING AND SCHEDULING URIS...................................3
1.1 FREE/BUSY URI (FBURL) .........................................3
1.1 FREE/BUSY URI (FBURL) ............................................5 1.2 CALENDAR ACCESS URI (CAPURI) ..................................4
1.2 CALENDAR ADDRESS URI (CALADRURI) .................................6 1.3 CALENDAR URI (CALURI) .........................................4
1.3 CALENDAR ACCESS URI (CAPURI) .....................................6 1.4 DEFAULT URIS ..................................................4
1.4 CALENDAR URI (CALURI) ............................................6 2 DISTRIBUTION......................................................4
1.5 DEFAULT URIS .....................................................7 2.1 MANUAL TRANSFER ...............................................5
2.2 PERSONAL DATA EXCHANGE USING A VCARD ..........................5
2 DISTRIBUTION.........................................................7 2.3 VCARD SCHEMA EXTENSIONS .......................................5
2.3.1 FBURL Property IANA Registration ...........................6
2.1 MANUAL TRANSFER ..................................................7 2.3.2 CALADRURI Property IANA Registration .......................7
2.2 PERSONAL DATA EXCHANGE USING A VCARD .............................7 2.3.3 CAPURI Property IANA Registration ......................... 8
2.3 VCARD SCHEMA EXTENSIONS ..........................................8 2.3.4 CALURI Property IANA Registration ......................... 8
2.3.1 FBURL Property IANA Registration ..............................8 2.4 DIRECTORY LOOKUP USING THE LDAP V3 PROTOCOL .................. 9
2.3.2 CALADRURI Property IANA Registration ..........................9 2.4.1 LDAP Schema Extensions .................................... 9
2.3.3 CAPURI Property IANA Registration ............................10 2.4.2 Notation ..................................................10
2.3.4 CALURI Property IANA Registration ............................10 2.4.3 Object Definitions ........................................10
2.4 DIRECTORY LOOKUP USING THE LDAP V3 PROTOCOL .....................11 2.4.3.1 calEntry ..............................................10
2.4.1 LDAP Schema Extensions .......................................11 2.4.4 Attribute Definitions .....................................10
2.4.2 Notation .....................................................12 2.4.4.1 calCalURI .............................................10
2.4.3 Object Definitions ...........................................12 2.4.4.2 calFBURL ..............................................10
2.4.3.1 calEntry .................................................12 2.4.4.3 calCAPURI .............................................11
2.4.4 Attribute Definitions ........................................12 2.4.4.4 calCalAdrURI ..........................................11
2.4.4.1 calCalURI ................................................12 2.4.4.5 calOtherCalURIs .......................................11
2.4.4.2 calFBURL .................................................13 2.4.4.6 calOtherFBURLs ........................................11
2.4.4.3 calCAPURI ................................................13 2.4.4.7 calOtherCAPURIs .......................................12
2.4.4.4 calCalAdrURI .............................................13 2.4.4.8 calOtherCalAdrURIs ....................................12
2.4.4.5 calOtherCalURIs ..........................................13 3 IANA Considerations..............................................12
2.4.4.6 calOtherFBURLs ...........................................14 4 Security Considerations..........................................12
2.4.4.7 calOtherCAPURIs ..........................................14 5 Acknowledgments..................................................13
2.4.4.8 calOtherCalAdrURIs .......................................14 6 Authors' Addresses...............................................13
7 Bibliography.....................................................15
3 IANA CONSIDERATIONS.................................................14 8 Full Copyright Statement.........................................16
4 SECURITY CONSIDERATIONS.............................................15
5 ACKNOWLEDGMENTS.....................................................15
6 AUTHORS'S ADDRESSES.................................................15
7 BIBLIOGRAPHY........................................................17
8 FULL COPYRIGHT STATEMENTS...........................................17
1 Calendaring and Scheduling URIs 1 Calendaring and Scheduling URIs
This memo defines four classes of URIs. URIs are more useful if it is This memo defines four classes of URIs. URIs are more useful if it is
understood what the URIs point to. Here is a brief description: understood what the URIs point to. Here is a brief description:
1.1 Free/Busy URI (FBURL) 1.1 Free/Busy URI (FBURL)
The free/busy URI is defined to be a transport independent location The free/busy URI is defined to be a transport independent location
where a client can obtain information about when a user is busy. At the where a client can obtain information about when a user is busy. At
present time, this URI only points to busy time data. Future revisions the present time, this URI only points to busy time data. Future
of this specification may provide for the extended capability of revisions of this specification may provide for the extended
publishing free time data. capability of publishing free time data.
If a calendaring and scheduling client (i.e., CUA) were to retrieve data
from this location using FTP or HTTP, it would get back an iCalendar
object [4] containing one or more "VFREEBUSY" calendar components. If a
MIME transport is being used, the response will be contained within a
"text/calendar" MIME body part as specified in the iCalendar
specification [4]. For example:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
METHOD:PUBLISH
BEGIN:VFREEBUSY
ATTENDEE:MAILTO:jane_doe@host1.com
DTSTART:19971013T050000Z
DTEND:19971124T050000Z
DTSTAMP:19970901T083000Z
FREEBUSY:19971015T133000Z/19971015T180000Z
FREEBUSY:19971015T190000Z/19971015T220000Z
FBURL:http://www.host.com/calendar/busy/jdoe.ifb
END:VFREEBUSY
END:VCALENDAR
The amount of busy time data pointed to by the FBURL will generally be
pre-determined; for example one month of busy time data. As a guideline,
it is recommended that the previous six weeks of busy time data be
published at the location associated with the FBURL. If this URI points
to a file resource, it is recommended that the file extension be "ifb"
to distinguish it from an arbitrary iCalendar object (e.g., with the
"ics" file extension).
1.2 Calendar Address URI (CALADRURI)
The calendar address URI is defined to be a transport independent
communication end-point for a user. The organizer's calendaring and
scheduling client (ie. CUA) would use this URI to determine where to
send an event request when organizing a meeting with a particular
attendee.
If the user prefers to receive event requests via iMIP, then the user If a calendaring and scheduling client (i.e., CUA) were to retrieve
would provide a "mailto" URI containing the user's e-mail address. [5] data from this location using FTP or HTTP, it would get back an
For example: iCalendar object [4] containing one or more "VFREEBUSY" calendar
components. If a MIME transport is being used, the response will be
contained within a "text/calendar" MIME body part as specified in the
iCalendar specification [4]. For example:
mailto:user@host1.com BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
METHOD:PUBLISH
BEGIN:VFREEBUSY
ATTENDEE:MAILTO:jane_doe@host1.com
DTSTART:19971013T050000Z
DTEND:19971124T050000Z
DTSTAMP:19970901T083000Z
FREEBUSY:19971015T133000Z/19971015T180000Z
FREEBUSY:19971015T190000Z/19971015T220000Z
FBURL:http://www.host.com/calendar/busy/jdoe.ifb
END:VFREEBUSY
END:VCALENDAR
The URI for an iRIP user is yet to be defined, but that is another The amount of busy time data pointed to by the FBURL will generally
possible URI value in this property. be pre-determined; for example one month of busy time data. As a
guideline, it is recommended that the previous six weeks of busy time
data be published at the location associated with the FBURL. If this
URI points to a file resource, it is recommended that the file
extension be "ifb" to distinguish it from an arbitrary iCalendar
object (e.g., with the "ics" file extension).
1.3 Calendar Access URI (CAPURI) 1.2 Calendar Access URI (CAPURI)
The Calendar Access URI is defined to be a protocol independent location The Calendar Access URI is defined to be a protocol independent
from which a calendaring and scheduling client (i.e., CUA) can location from which a calendaring and scheduling client (i.e., CUA)
communicate with a user's entire calendar. can communicate with a user's entire calendar.
The semantics for using this URI as an access protocol locator are yet The semantics for using this URI as an access protocol locator are
to be defined by the IETF CALSCH Working Group. This will be addressed yet to be defined by the IETF CALSCH Working Group. This will be
in the "Calendar Access Protocol" specification. addressed in the "Calendar Access Protocol" specification.
1.4 Calendar URI (CALURI) 1.3 Calendar URI (CALURI)
The Calendar URI is defined to be a protocol independent location from The Calendar URI is defined to be a protocol independent location
which a calendaring and scheduling client (i.e. CUA) can retrieve an from which a calendaring and scheduling client (i.e. CUA) can
entire copy of a user's calendar. Retrieving data from this URI obtains retrieve an entire copy of a user's calendar. Retrieving data from
a published "snapshot" of the user's calendar. this URI obtains a published "snapshot" of the user's calendar.
HTTP URI -- If the URI is an HTTP URI, then the content returned with a HTTP URI -- If the URI is an HTTP URI, then the content returned with
GET should be a "text/calendar" MIME body part containing one or more a GET should be a "text/calendar" MIME body part containing one or
iCalendar object. more iCalendar object.
FTP URI -- If the URI is an FTP URI, then the resource pointed to should FTP URI -- If the URI is an FTP URI, then the resource pointed to
be a file with an "ics" file extension containing one or more iCalendar should be a file with an "ics" file extension containing one or more
objects. iCalendar objects.
1.5 Default URIs 1.4 Default URIs
There are many cases where a user may have more than one calendar. In There are many cases where a user may have more than one calendar. In
these cases, a user may have multiple URIs, each URI pointing to a these cases, a user may have multiple URIs, each URI pointing to a
calendar or free/busy data. calendar or free/busy data.
To make the case of multiple calendars simpler for clients, the concept To make the case of multiple calendars simpler for clients, the
of the "default" calendar is introduced. A "default" calendar is one concept of the "default" calendar is introduced. A "default" calendar
that the user has designated as the calendar that other users should is one that the user has designated as the calendar that other users
look at when accessing the user's calendar, or retrieving the user's should look at when accessing the user's calendar, or retrieving the
free/busy time. user's free/busy time.
The default calendar may, in fact, include rolled-up information from The default calendar may, in fact, include rolled-up information from
all the user's other calendars. The other calendars may only exist for all the user's other calendars. The other calendars may only exist
organizational purposes. for organizational purposes.
2 Distribution 2 Distribution
These four URIs provide valuable pointers to calendaring and scheduling These four URIs provide valuable pointers to calendaring and
data that other users need in order to know when to schedule meetings, scheduling data that other users need in order to know when to
etc. There are several possibilities on how users can communicate these schedule meetings, etc. There are several possibilities on how users
URIs to other users. The following section outlines how these URIs can can communicate these URIs to other users. The following section
be distributed to other users. outlines how these URIs can be distributed to other users.
2.1 Manual Transfer 2.1 Manual Transfer
The simplest way to obtain these URIs is for a user to communicate the The simplest way to obtain these URIs is for a user to communicate
URIs using some out-of-band mechanism such as verbally, or in an e-mail the URIs using some out-of-band mechanism such as verbally, or in an
message, or by printing these URIs on a paper business card. e-mail message, or by printing these URIs on a paper business card.
When using this mechanism, the user obtains these URIs using an out-of- When using this mechanism, the user obtains these URIs using an out-
band mechanism and then enters these URIs into their calendaring of-band mechanism and then enters these URIs into their calendaring
software manually. software manually.
2.2 Personal Data Exchange Using A vCard 2.2 Personal Data Exchange Using A vCard
A more sophisticated way to obtain these URIs is for users to publish A more sophisticated way to obtain these URIs is for users to publish
vCards containing these URIs. The vCard object can be transferred vCards containing these URIs. The vCard object can be transferred
between one another. Since many e-mail clients allow a user to between one another. Since many e-mail clients allow a user to
automatically include a vCard with every message that the user sends, automatically include a vCard with every message that the user sends,
this provides a simple, transparent way for a user to distribute their this provides a simple, transparent way for a user to distribute
calendaring and scheduling URIs. their calendaring and scheduling URIs.
On the receiving end, an e-mail client that provides an integrated vCard On the receiving end, an e-mail client that provides an integrated
database can provide a way to lookup calendaring URIs for users whose vCard database can provide a way to lookup calendaring URIs for users
vCards are stored locally. whose vCards are stored locally.
2.3 vCard Schema Extensions 2.3 vCard Schema Extensions
Since the vCard [3] specification doesn't specify how to encode Since the vCard [3] specification doesn't specify how to encode
calendaring URIs in a vCard, this section is provided as an extension to calendaring URIs in a vCard, this section is provided as an extension
vCard which specifies how to encode calendaring URIs within a vCard. to vCard which specifies how to encode calendaring URIs within a
vCard.
Inside a vCard object, four new properties are defined: "CALURI", Inside a vCard object, four new properties are defined: "CALURI",
"CAPURI", "CALADRURI", and "FBURL", as defined above. "CAPURI", "CALADRURI", and "FBURL", as defined above.
Any vCard can have one or more of these properties, each representing a Any vCard can have one or more of these properties, each representing
calendar or free/busy time that is associated with the user. a calendar or free/busy time that is associated with the user.
One of these properties can be designated as the "default" by adding the One of these properties can be designated as the "default" by adding
"PREF" parameter. the "PREF" parameter.
Here is a simple example of a vCard containing a "FBURL" and a "CALURI". Here is a simple example of a vCard containing a "FBURL" and a
"CALURI".
BEGIN:VCARD BEGIN:VCARD
VERSION:3.0 VERSION:3.0
N:Dun;Alec N:Dun;Alec
FN:Alec Dun FN:Alec Dun
ORG:Microsoft Corporation ORG:Microsoft Corporation
ADR;WORK;POSTAL;PARCEL:;;One Microsoft Way; ADR;WORK;POSTAL;PARCEL:;;One Microsoft Way;
Redmond;WA;98052-6399;USA Redmond;WA;98052-6399;USA
TEL;WORK;MSG:+1-206-936-4544 TEL;WORK;MSG:+1-206-936-4544
TEL;WORK;FAX:+1-206-936-7329 TEL;WORK;FAX:+1-206-936-7329
EMAIL;INTERNET:user@host1.com EMAIL;INTERNET:user@host1.com
CALADRURI;PREF:mailto:user@host1.com CALADRURI;PREF:mailto:user@host1.com
CALURI;PREF:http://cal.host1.com/user/cal.ics CALURI;PREF:http://cal.host1.com/user/cal.ics
FBURL;PREF:http://cal.host1.com/user/fb.ifb FBURL;PREF:http://cal.host1.com/user/fb.ifb
CALURI:http://cal.company.com/projectA/pjtA.ics CALURI:http://cal.company.com/projectA/pjtA.ics
FBURL:http://cal.company.com/projectA/pjtAfb.ifb FBURL:http://cal.company.com/projectA/pjtAfb.ifb
END:VCARD END:VCARD
2.3.1 FBURL Property IANA Registration 2.3.1 FBURL Property IANA Registration
To: ietf-mime-directory@imc.org To: ietf-mime-directory@imc.org
Subject: Registration of FBURL type for text/directory MIME type vCard Subject: Registration of FBURL type for text/directory MIME type
profile. vCard profile.
Type name: FBURL Type name: FBURL
Type purpose: To specify the URI for a user's busy time in a vCard Type purpose: To specify the URI for a user's busy time in a vCard
object. object.
Type encoding: 8bit Type encoding: 8bit
Type value: A single URI value. Type value: A single URI value.
Type special notes: Where multiple FBURL properties are specified, the Type special notes: Where multiple FBURL properties are specified,
default FBURL property is indicated with the PREF parameter. The FTP or the default FBURL property is indicated with the PREF parameter. The
HTTP type of URI points to an iCalendar object associated with a FTP or HTTP type of URI points to an iCalendar object associated with
snapshot of the last six weeks of the user's busy time data. If the a snapshot of the last six weeks of the user's busy time data. If the
iCalendar object is represented as a file or document, it's file type iCalendar object is represented as a file or document, it's file type
should be "ifb". should be "ifb".
Intended usage: Refer to section 1.1. Intended usage: Refer to section 1.1.
Type examples: Type examples:
FBURL;PREF:http://www.host1.com/busy/janedoe FBURL;PREF:http://www.host1.com/busy/janedoe
FBURL:FTP://ftp.host.com/busy/project-a.ifb FBURL:FTP://ftp.host.com/busy/project-a.ifb
2.3.2 CALADRURI Property IANA Registration 2.3.2 CALADRURI Property IANA Registration
To: ietf-mime-directory@imc.org To: ietf-mime-directory@imc.org
Subject: Registration of CALADRURI type for application/directory MIME Subject: Registration of CALADRURI type for application/directory
type vCard profile. MIME type vCard profile.
Type name: CALADRURI Type name: CALADRURI
Type purpose: To specify the location to which an event request should Type purpose: To specify the location to which an event request
be sent for the user. should be sent for the user.
Type encoding: 8bit Type encoding: 8bit
Type value: A single URI value. Type value: A single URI value.
Type special notes: Where multiple CALADRURI properties are specified, Type special notes: Where multiple CALADRURI properties are
the default CALADRURI property is indicated with the PREF parameter. specified, the default CALADRURI property is indicated with the PREF
parameter.
Intended usage: Refer to section 1.2. Intended usage: Refer to section 1.2.
Type examples: Type examples:
CALADRURI;PREF:mailto:janedoe@host.com CALADRURI;PREF:mailto:janedoe@host.com
2.3.3 CAPURI Property IANA Registration
To: ietf-mime-directory@imc.org 2.3.3 CAPURI Property IANA Registration
Subject: Registration of CAPURI type for application/directory MIME type To: ietf-mime-directory@imc.org
vCard profile.
Type name: CAPURI Subject: Registration of CAPURI type for application/directory MIME
type vCard profile.
Type purpose: To specify a protocol independent location from which a Type name: CAPURI
calendaring and scheduling client (i.e., CUA) can communicate with a
user's entire calendar.
Type encoding: 8bit Type purpose: To specify a protocol independent location from which a
calendaring and scheduling client (i.e., CUA) can communicate with a
user's entire calendar.
Type value: A single URI value. Type encoding: 8bit
Type special notes: Where multiple CAPURI properties are specified, the Type value: A single URI value.
default CAPURI property is indicated with the PREF parameter.
Intended usage: Refer to section 1.3. Type special notes: Where multiple CAPURI properties are specified,
the default CAPURI property is indicated with the PREF parameter.
2.3.4 CALURI Property IANA Registration Intended usage: Refer to section 1.3.
To: ietf-mime-directory@imc.org 2.3.4 CALURI Property IANA Registration
Subject: Registration of CALURI type for text/directory MIME type vCard To: ietf-mime-directory@imc.org
profile.
Type name: CALURI Subject: Registration of CALURI type for text/directory MIME type
vCard profile.
Type purpose: To specify the URI for a user's calendar in a vCard Type name: CALURI
object.
Type encoding: 8bit Type purpose: To specify the URI for a user's calendar in a vCard
object.
Type value type: A single URI value. Type encoding: 8bit
Type special notes: Where multiple CALURI properties are specified, the Type value type: A single URI value.
default CALURI property is indicated with the PREF parameter. The
property should contain a URI pointing to an iCalendar object associated
with a snapshot of the user's calendar store. If the iCalendar object is
represented as a file or document, it's file type should be "ics".
Intended usage: Refer to section 1.4. Type special notes: Where multiple CALURI properties are specified,
the default CALURI property is indicated with the PREF parameter. The
property should contain a URI pointing to an iCalendar object
associated with a snapshot of the user's calendar store. If the
iCalendar object is represented as a file or document, it's file type
should be "ics".
Type examples: Intended usage: Refer to section 1.4.
CALURI;PREF:http://cal.host1.com/calA Type examples:
CALURI:ftp://ftp.host1.com/calA.ics
CALURI;PREF:http://cal.host1.com/calA
CALURI:ftp://ftp.host1.com/calA.ics
2.4 Directory Lookup Using The LDAP v3 Protocol 2.4 Directory Lookup Using The LDAP v3 Protocol
Another way to obtain these URIs is to look them up in a directory using Another way to obtain these URIs is to look them up in a directory
the LDAP protocol [1]. using the LDAP protocol [1].
If a user's URIs can be found using directory lookup (i.e., searching If a user's URIs can be found using directory lookup (i.e., searching
for one of the LDAP schema extensions defined below), they should, in for one of the LDAP schema extensions defined below), they should, in
general, be considered "more up-to-date" than URIs in any vCards that general, be considered "more up-to-date" than URIs in any vCards that
are stored locally. are stored locally.
2.4.1 LDAP Schema Extensions 2.4.1 LDAP Schema Extensions
In order to encode the calendaring URIs in the directory, the following In order to encode the calendaring URIs in the directory, the
are defined: following are defined:
- One object class: - One object class:
- calEntry - calEntry
- Eight attributes: - Eight attributes:
- calCalURI - calCalURI
- calFBURL - calFBURL
- calCAPURI - calCAPURI
- calCalAdrURI - calCalAdrURI
- calOtherCalURIs - calOtherCalURIs
- calOtherFBURLs - calOtherFBURLs
- calOtherCAPURIs - calOtherCAPURIs
- calOtherCalAdrURIs - calOtherCalAdrURIs
The calCalURI contains the URI to a snapshot of the user's entire The calCalURI contains the URI to a snapshot of the user's entire
default calendar. The calFBURL contains the URI to the user's default default calendar. The calFBURL contains the URI to the user's default
busy time data. The calCAPURI represents contains a URI that can be used busy time data. The calCAPURI represents contains a URI that can be
to communicate with the user's calendar. The calCalAdrURI contains a URI used to communicate with the user's calendar. The calCalAdrURI
that points to the location to which event requests should be sent for contains a URI that points to the location to which event requests
that user. should be sent for that user.
The calOtherCalURIs is a multi-valued property containing URIs to The calOtherCalURIs is a multi-valued property containing URIs to
snapshots of other calendars that the user may have. The calOtherFBURLs snapshots of other calendars that the user may have. The
is a multi-valued property containing URIs to other free/busy data that calOtherFBURLs is a multi-valued property containing URIs to other
the user may have. The calOtherCAPURIs attribute is a multi-valued free/busy data that the user may have. The calOtherCAPURIs attribute
property containing URIs to other calendars that the user may have. The is a multi-valued property containing URIs to other calendars that
calOtherCalAdrURIs attribute is a multi-valued property containing URIs the user may have. The calOtherCalAdrURIs attribute is a multi-valued
to other locations that a user may want event requests sent to. property containing URIs to other locations that a user may want
event requests sent to.
There is no predetermined order to the values in either multi-valued There is no predetermined order to the values in either multi-valued
property. property.
2.4.2 Notation 2.4.2 Notation
The notation used in this memo is the same as that used in [2]. The notation used in this memo is the same as that used in [2].
2.4.3 Object Definitions 2.4.3 Object Definitions
2.4.3.1 calEntry 2.4.3.1 calEntry
The Calendar Entry is a class derived from "TOP" [2], which contains the The Calendar Entry is a class derived from "TOP" [2], which contains
four calendaring attributes. the four calendaring attributes.
(1.2.840.113556.1.5.87 (1.2.840.113556.1.5.87
NAME 'calEntry' NAME 'calEntry'
TOP TOP
AUXILIARY AUXILIARY
MAY (calCalURI calFBURL calOtherCalURIs calOtherFBURLs calCAPURI MAY (calCalURI calFBURL calOtherCalURIs calOtherFBURLs calCAPURI
calOtherCAPURLs) calOtherCAPURLs)
) )
2.4.4 Attribute Definitions 2.4.4 Attribute Definitions
2.4.4.1 calCalURI 2.4.4.1 calCalURI
(1.2.840.113556.1.4.478 (1.2.840.113556.1.4.478
NAME 'calCalURI' NAME 'calCalURI'
EQUALITY caseIgnoreMatch EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String' SYNTAX 'IA5String'
USAGE userApplications USAGE userApplications
) )
2.4.4.2 calFBURL 2.4.4.2 calFBURL
(1.2.840.113556.1.4.479 (1.2.840.113556.1.4.479
NAME 'calFBURL' NAME 'calFBURL'
EQUALITY caseIgnoreMatch EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String' SYNTAX 'IA5String'
USAGE userApplications USAGE userApplications
) )
2.4.4.3 calCAPURI 2.4.4.3 calCAPURI
(1.2.840.113556.1.4.480 (1.2.840.113556.1.4.480
NAME 'calCAPURI' NAME 'calCAPURI'
EQUALITY caseIgnoreMatch EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String' SYNTAX 'IA5String'
USAGE userApplications USAGE userApplications
) )
2.4.4.4 calCalAdrURI 2.4.4.4 calCalAdrURI
(1.2.840.113556.1.4.481 (1.2.840.113556.1.4.481
NAME 'calCalAdrURI' NAME 'calCalAdrURI'
EQUALITY caseIgnoreMatch EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String' SYNTAX 'IA5String'
USAGE userApplications USAGE userApplications
) )
2.4.4.5 calOtherCalURIs 2.4.4.5 calOtherCalURIs
(1.2.840.113556.1.4.482 (1.2.840.113556.1.4.482
NAME 'calOtherCalURIs' NAME 'calOtherCalURIs'
EQUALITY caseIgnoreMatch EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String' SYNTAX 'IA5String'
MULTI-VALUE MULTI-VALUE
USAGE userApplications USAGE userApplications
) )
2.4.4.6 calOtherFBURLs
(1.2.840.113556.1.4.483 2.4.4.6 calOtherFBURLs
NAME 'calOtherFBURLs'
EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String'
MULTI-VALUE
USAGE userApplications
)
2.4.4.7 calOtherCAPURIs (1.2.840.113556.1.4.483
NAME 'calOtherFBURLs'
EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String'
MULTI-VALUE
USAGE userApplications
)
(1.2.840.113556.1.4.484 2.4.4.7 calOtherCAPURIs
NAME 'calOtherCAPURIs'
EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String'
MULTI-VALUE
USAGE userApplications
)
2.4.4.8 calOtherCalAdrURIs (1.2.840.113556.1.4.484
NAME 'calOtherCAPURIs'
EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch
SYNTAX 'IA5String'
MULTI-VALUE
USAGE userApplications
)
(1.2.840.113556.1.4.485 2.4.4.8 calOtherCalAdrURIs
NAME 'calOtherCalAdrURIs'
EQUALITY caseIgnoreMatch (1.2.840.113556.1.4.485
SUBSTRING caseIgnoreMatch NAME 'calOtherCalAdrURIs'
SYNTAX 'IA5String' EQUALITY caseIgnoreMatch
MULTI-VALUE SUBSTRING caseIgnoreMatch
USAGE userApplications SYNTAX 'IA5String'
) MULTI-VALUE
USAGE userApplications
)
3 IANA Considerations 3 IANA Considerations
This memo defines IANA registered extensions to the attributes defined This memo defines IANA registered extensions to the attributes
by LDAP [1] and vCard [3]. defined by LDAP [1] and vCard [3].
IANA registration proposals for vCard are to be emailed to the IANA registration proposals for vCard are to be emailed to the
registration agent for the "text/directory" MIME content-type, <MAILTO: registration agent for the "text/directory" MIME content-type,
ietf-mime-directory@imc.org> using the format defined in [3]. <MAILTO: ietf-mime-directory@imc.org> using the format defined in
[3].
4 Security Considerations 4 Security Considerations
Standard vCard and LDAP security rules and support apply for the Standard vCard and LDAP security rules and support apply for the
extensions described in this document, and there are no special security extensions described in this document, and there are no special
issues for these extensions. security issues for these extensions.
Please note, though, that LDAP servers may permit anonymous clients to Please note, though, that LDAP servers may permit anonymous clients
refresh entries which they did not create. Servers are also permitted to to refresh entries which they did not create. Servers are also
control a refresh access to an entry by requiring clients to bind before permitted to control a refresh access to an entry by requiring
issuing a RefreshRequest. This will have implications on the server clients to bind before issuing a RefreshRequest. This will have
performance and scalability. implications on the server performance and scalability.
Please also note, though, that vCard objects may have been created by an Please also note, though, that vCard objects may have been created by
entity other than that represented by the vCard. Recipients should be an entity other than that represented by the vCard. Recipients should
certain of the source that generated the vCard. be certain of the source that generated the vCard.
Also, care should be taken in making use of information obtained from Also, care should be taken in making use of information obtained from
directory servers that has been supplied by client, as it may now be out directory servers that has been supplied by client, as it may now be
of date. In many networks, for example, IP addresses are automatically out of date. In many networks, for example, IP addresses are
assigned when a host connects to the network, and may be reassigned if automatically assigned when a host connects to the network, and may
that host later disconnects. An IP address obtained from the directory be reassigned if that host later disconnects. An IP address obtained
may no longer be assigned to the host that placed the address in the from the directory may no longer be assigned to the host that placed
directory. This issue is not specific to LDAP or dynamic directories. the address in the directory. This issue is not specific to LDAP or
dynamic directories.
5 Acknowledgments 5 Acknowledgments
The authors wish to acknowledge the work of Alec Dun, who acted as an The authors wish to acknowledge the work of Alec Dun, who acted as an
author for the early drafts of this memo. In addition, this document author for the early drafts of this memo. In addition, this document
received input from the various participants in the IETF CALSCH Working received input from the various participants in the IETF CALSCH
Group discussions. Working Group discussions.
6 Authors's Addresses 6 Authors' Addresses
The following address information is provided in a vCard v3.0 [3], The following address information is provided in a vCard v3.0 [3],
Electronic Business Card, format. Electronic Business Card, format.
BEGIN:VCARD BEGIN:VCARD
VERSION:3.0 VERSION:3.0
N:Small;Tony N:Small;Tony
FN:Tony Small FN:Tony Small
ORG:Microsoft Corporation ORG:XpertSite.Com
ADR;TYPE=WORK,POSTAL,PARCEL:;;One Microsoft Way; ADR;TYPE=WORK,POSTAL,PARCEL:;;4700 42nd Ave. SW, Suite 440;
Redmond;WA;98052-6399;USA Seattle;WA;98116;USA
TEL;TYPE=WORK,MSG:+1-425-703-2190 TEL;TYPE=WORK,MSG:+1-206-937-9972
TEL;TYPE=WORK,FAX:+1-206-936-7329 TEL;TYPE=WORK,FAX:+1-206-936-7329
EMAIL;TYPE=INTERNET:tonysm@Microsoft.com EMAIL;TYPE=INTERNET:tony@xpertsite.com
CALADRURI:MAILTO:tonysm@Microsoft.com CALADRURI:MAILTO:tony@xpertsite.com
END:VCARD END:VCARD
BEGIN:VCARD BEGIN:VCARD
VERSION:3.0 VERSION:3.0
N:Hennessy;Denis N:Hennessy;Denis
FN:Denis Hennessy FN:Denis Hennessy
ORG:ISOCOR ORG:ISOCOR
ADR;TYPE=WORK,POSTAL,PARCEL:;;42-47 Lower Mount St; ADR;TYPE=WORK,POSTAL,PARCEL:;;42-47 Lower Mount St;
Dublin 2;Ireland Dublin 2;Ireland
TEL;TYPE=WORK,MSG:+353-1-676-0366 TEL;TYPE=WORK,MSG:+353-1-676-0366
skipping to change at line 614 skipping to change at page 14, line 18
ORG:Lotus Development Corporation ORG:Lotus Development Corporation
ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive; ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive;
Raleigh;NC;27613-3502;USA Raleigh;NC;27613-3502;USA
TEL;TYPE=WORK,PREF:+1-617-693-8728 TEL;TYPE=WORK,PREF:+1-617-693-8728
TEL;TYPE=WORK,MSG:+1-919-676-9515 TEL;TYPE=WORK,MSG:+1-919-676-9515
TEL;TYPE=FAX:+1-617-693-8728 TEL;TYPE=FAX:+1-617-693-8728
EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com
EMAIL;TYPE=INTERNET:fdawson@earthlink.net EMAIL;TYPE=INTERNET:fdawson@earthlink.net
CALADRURI;TYPE=PREF:MAILTO:Frank_Dawson@Lotus.com CALADRURI;TYPE=PREF:MAILTO:Frank_Dawson@Lotus.com
CALADRURI:MAILTO:fdawson@earthlink.net CALADRURI:MAILTO:fdawson@earthlink.net
URI:http://home.earthlink.net/~fdawson URL:http://home.earthlink.net/~fdawson
END:VCARD END:VCARD
This memo is a result of the work of the Internet Engineering Task Force This memo is a result of the work of the Internet Engineering Task
Calendaring and scheduling Working Group. The chairmen of that working Force Calendaring and scheduling Working Group. The chairman of that
group are: working group is:
BEGIN:VCARD BEGIN:VCARD
VERSION:3.0 VERSION:3.0
N:Moskowitz;Robert
FN:Robert Moskowitz
EMAIL;TYPE=INTERNET:rgm-ietf@htt-consult.com
END:VCARD
BEGIN:VCARD
VERSION:3.0
N:Egen;Pat N:Egen;Pat
FN:Pat Egen FN:Pat Egen
ORG:Egen Consulting, Inc.. ORG:Engan Consulting
ADR;TYPE=WORK,POSTAL,PARCEL:;;803 Creek Overlook; ADR;TYPE=WORK:;;803 Creek Overlook;Chattanooga;TN;37415;USA
Chattanooga;TN;37415 TEL;TYPE=WORK,VOICE:423.875.2652
TEL;TYPE=WORK,MSG:+1-423-875-2652 TEL;TYPE=WORK,FAX:423.875.2017
TEL;TYPE=WORK,FAX:+1-423-875-2017 EMAIL:pregen@egenconsulting.com
EMAIL;TYPE=INTERNET:pregen@egenconsulting.com URL:http://www.egenconsulting.com
CALADRURI:MAILTO:pregen@egenconsulting.com CALADRURI:MAILTO:pregen@egenconsulting.com
END:VCARD END:VCARD
7 Bibliography 7 Bibliography
[1] M. Wahl, T. Howes, S. Kille, 'Lightweight Directory Access [1] Wahl, M., Howes, T. and S. Kille, "Lightweight Directory Access
Protocol (v3)', RFC 2251, December 1997, Protocol (v3)", RFC 2251, December 1997.
<URL:http:www.ietf.org/rfc/rfc2251.txt>
[2] M. Wahl, A. Coulbeck, T. Howes, S. Kille, 'Lightweight Directory [2] Wahl, M., Coulbeck, A., Howes, T. and S. Kille, "Lightweight
Access Protocol (v3): Attribute Syntax Definitions', RFC 2252, Directory Access Protocol (v3): Attribute Syntax Definitions",
December 1997, <URL:http:www.ietf.org/rfc/rfc2252.txt> RFC 2252, December 1997.
[3] F. Dawson, T. Howes, 'vCard MIME Directory Profile', RFC 2426, [3] Dawson, F. and T. Howes, "vCard MIME Directory Profile", RFC
September 1998, <URL:http:www.ietf.org/rfc/rfc2426.txt> 2426, September 1998.
[4] F. Dawson, D. Stenerson 'Internet Calendaring and Scheduling Core [4] Dawson, F. and D. Stenerson, "Internet Calendaring and Scheduling
Object Specification (iCalendar)', RFC 2445, November 1997, Core Object Specification (iCalendar)", RFC 2445, November 1997.
<URL:http:www.ietf.org/rfc/rfc2445.txt>
[5] F. Dawson, S. Mansour `iCalendar Message-Based Interopability [5] Dawson, F. and S. Mansour, "iCalendar Message-Based
Protocal (iMIP)', November 1997, Interopability Protocal (iMIP)", RFC 2447, November 1997.
<URL:http:www.ietf.org/rfc/rfc2447.txt>
8 Full Copyright Statements 8 Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
This memo and translations of it may be copied and furnished to others, This document and translations of it may be copied and furnished to
and derivative works that comment on or otherwise explain it or assist others, and derivative works that comment on or otherwise explain it
in its implementation may be prepared, copied, published and or assist in its implementation may be prepared, copied, published
distributed, in whole or in part, without restriction of any kind, and distributed, in whole or in part, without restriction of any
provided that the above copyright notice and this paragraph are included kind, provided that the above copyright notice and this paragraph are
on all such copies and derivative works. However, this memo itself may included on all such copies and derivative works. However, this
not be modified in any way, such as by removing the copyright notice or document itself may not be modified in any way, such as by removing
references to the Internet Society or other Internet organizations, the copyright notice or references to the Internet Society or other
except as needed for the purpose of developing Internet standards in Internet organizations, except as needed for the purpose of
which case the procedures for copyrights defined in the Internet developing Internet standards in which case the procedures for
Standards process must be followed, or as required to translate it into copyrights defined in the Internet Standards process must be
languages other than English. followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This memo and the information contained herein is provided on an "AS IS" This document and the information contained herein is provided on an
basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 146 change blocks. 
469 lines changed or deleted 435 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/