INTERNET-DRAFT Alec Dun, Microsoft Corporation
Expires: May, 1998 Denis Hennessy, ISOCOR
Frank Dawson, Lotus
November 1997
Obtaining an URL to a user's calendar and free/busy time
draft-dun-calsch-locate-01.txt
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups 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."
To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
When booking a meeting, it is optimal if an organizer can see
details of an attendee's schedule such as when an attendee is
available to meet. Additionally, in a corporate environment a user
will often permit a limited set of other users to view portions of
their calendar.
In order to achieve these tasks, a user agent needs a mechanism to
obtain a pointer (URL) to a user's calendar and free/busy time.
This draft defines three mechanisms for obtaining a URL to a user's
calendar and free/busy time:
- Manual
- vCard exchange
- Directory lookup (LDAP)
1. Manual
The simplest (but also the least desirable) way to obtain these URLs
is for a user to communicate the URLs to their calendar and
free/busy time using some out-of-band mechanism such as verbally, in
an e-mail message, or by printing these URLs on a business card.
Dun, Hennessy, Dawson [Page 1]
INTERNET-DRAFT Locating a user's calendar November 1997
When using this mechanism, the user obtains these URLs using an out-
of-band mechanism and then enters these URLs into their calendaring
software manually.
2. vCard Exchange
A more sophisticated way to obtain these URLs is for users to send
vCards containing these URLs to one another. Since many e-mail
clients allow a user to automatically include a vCard with every
message that the user sends, this provides a simple transparent way
for a user to distribute their calendaring URLs.
On the receiving end, an e-mail client that provides an integrated
vCard database can provide a way to lookup calendaring URLs for
users whose vCards are stored locally.
2.1 Encoding
Since the vCard 2.1 [8] specification doesn't specify how to encode
calenaring URLs in a vCard, this section is provided as an extension
to vCard 2.1 which specifies how to encode calendaring URLs within a
vCard.
Inside a vCard 2.1 object, a new sub-object is defined called
"CALINFO".
Any given vCard can have one or more CALINFO sub-object(s), each
representing a calendar that is associated with the user. As an
example, a user may have a business calendar, a personal calendar
and a softball calendar; in this case the user's vCard would have
three CALINFO sub-objects.
The "CALINFO" sub-object has 4 properties. They are defined as
follows:
COMMENT - A string representing the display name of the calendar.
DEF - An string property that indicates whether or not the sub-
object is the default calendar for the user.
Possible values are "T", meaning that this CALINFO object
represents the user's default calendar, or "F", meaning
that this CALINFO object does not represent the user's
default calendar.
Only one CALINFO object within a vCard can have this
property set to "T".
CALURL - A string containing an URL to the user's calendar.
Dun, Hennessy, Dawson [Page 2]
INTERNET-DRAFT Locating a user's calendar November 1997
FBURL - A string containing an URL to the user's free/busy data.
Here is an example of the CALINFO sub-object encoded in a vCard:
BEGIN: vCard
FN: Alec Dun
EMAIL;INETERNET:alecdu@microsoft.com
BEGIN: CALINFO
COMMENT: My work calendar
DEF: T
CALURL: http://www.microsoft.com/calendars/alecdu
FBURL: http://www.microsoft.com/freebusy/alecdu
END: CALINFO
BEGIN: CALINFO
COMMENT: My softball calendar
DEF: FALSE
CALURL: http://www.myisp.com/calendars/softball
FBURL: http://www.myisp.com/calendars/softball
END: CALINFO
END: vCard
3. Directory lookup (LDAP)
Another way to obtain these URLs is to look them up in an LDAP
directory.
If an organizer knows an attendee's e-mail address, then using DNS,
the attendee's directory server can be found. From the directory
server, the client can look up the URLs for a user's calendar.
Here's how it works:
The client first parses the domain name out from the rfc822 mailbox
name. For the fictitious mailbox 'foo@bar.com', the domain name
would be 'bar.com'.
Given the domain name, the client queries the DNS server for the
LDAP server for 'bar.com'. The mechanism is described in detail in
[6], [7], [9]. Essentially the client queries for the "SRV" record
for 'ldap.tcp.bar.com'. The DNS server returns the IP address for
the associated server for 'bar.com'.
Once the IP address for the LDAP server has been obtained, the
client can do a lookup the user's record by e-mail address
(rfc822mailbox) and from that get the calendaring URLs.
Dun, Hennessy, Dawson [Page 3]
INTERNET-DRAFT Locating a user's calendar November 1997
If a user's URLs can be found using directory lookup, they should be
considered "more up-to-date" than URLs in any vCards that are stored
locally.
3.1 Encoding
In order to encode the calendaring URLs in the directory, the
following are defined:
one object class:
@ calEntry
and one multi-valued attribute:
@ calCalendarInfo
3.1.1. Notation
The notation used in this document is the same as that used in [2].
3.1.2. Object Definitions
3.1.2.1. calEntry
The Calendar Entry is an class derived from top [2], which contains
the four calendaring attributes.
( 1.2.840.113556.1.5.87
NAME 'calEntry'
TOP
AUXILIARY
MAY (calCalendarInfo)
)
3.1.3. Attribute Definitions
3.1.3.1. calCalendarInfo
( 1.2.840.113556.1.4.478
NAME 'calCalendarInfo'
EQUALITY caseIgnoreMatch
SUBSTRING caseIgnoreMatch
SYNTAX IA5String
MULTI-VALUE
USAGE userApplications
)
Dun, Hennessy, Dawson [Page 4]
INTERNET-DRAFT Locating a user's calendar November 1997
The value of the calCalendarInfo attribute is an XML document
describing information about the user's calendar.
Since the attribute is multi-valued, each value of the attribute
represents information about one of the user's calendars. If the
user only has one calendar, then there will only be one value.
Here is the DTD for the XML contained in the entry:
The values for each element are the same as described in the vCard
section above.
Here is an example of what one value of calCalendarInfo would look
like:
My work calendar
T
http://www.microsoft.com/calendars/alecdu
http://www.microsoft.com/freebusy/alecdu
Authors' Addresses
BEGIN:VCARD
FN:Alec Dun
ORG:Microsoft Corporation
ADR;WORK;POSTAL;PARCEL:;;One Microsoft Way;
Redmond;WA;98052-6399;USA
TEL;WORK;MSG:+1-206-936-4544
TEL;WORK;FAX:+1-206-936-7329
EMAIL;INTERNET:alecdu@Microsoft.com
END:VCARD
BEGIN:VCARD
FN:Denis Hennessy
ORG:ISOCOR
ADR;WORK;POSTAL;PARCEL:;;42-47 Lower Mount St;
Dublin 2;Ireland
TEL;WORK;MSG:+353-1-676-0366
Dun, Hennessy, Dawson [Page 5]
INTERNET-DRAFT Locating a user's calendar November 1997
TEL;WORK;FAX:+353-1-676-0856
EMAIL;INTERNET:denis.hennessy@isocor.com
END:VCARD
BEGIN:VCARD
FN:Frank Dawson
ORG:Lotus Development Corporation
ADR;WORK;POSTAL;PARCEL:;;6544 Battleford Drive;
Raleigh;NC;27613-3502;USA
TEL;WORK;MSG:+1-919-676-9515
TEL;WORK;FAX:+1-919-676-9564
EMAIL;INTERNET:fdawson@earthlink.net
URL:http://home.earthlink.net/~fdawson
END:VCARD
Bibliography
[1] W. Yeong, T. Howes, S. Kille, 'Lightweight Directory Access
Protocol', RFC 1777, March 1995,
[2] M. Wahl, T. Howes, S. Kille, 'Lightweight Directory
Access Protocol (v3)',
INTERNET-DRAFT ,
November 1997.
[3] M. Wahl, A. Coulbeck, T. Howes, S. Kille, 'Lightweight
Directory Access Protocol: Standard and Pilot Attribute
Definitions',
INTERNET DRAFT
October 1997
[4] The Directory: Selected Attribute Types. ITU-T Recommendation
X.520, 1993.
[5] The Directory: Selected Object Classes. ITU-T Recommendation
X.521, 1993.
[6] P. Leach 'Selecting a server from among many replicas',
INTERNET DRAFT ,
February 1997
[7] P. Leach 'Locating Native Internet LDAP Servers',
INTERNET DRAFT ,
March 1997
[8] F. Dawson, T. Howes, 'vCard MIME Directory Profile',
INTERNET-DRAFT ,
July 1997
Dun, Hennessy, Dawson [Page 6]
INTERNET-DRAFT Locating a user's calendar November 1997
[9] A. Gulbrandsen, P. Vixie, "A DNS RR for specifying the location
of services (DNS SRV)", RFC 2052,
, October 1996.
Dun, Hennessy, Dawson [Page 7]