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]