idnits 2.17.1 draft-daboo-icalendar-extensions-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 14, 2011) is 4785 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Obsolete informational reference (is this intentional?): RFC 2326 (Obsoleted by RFC 7826) -- Obsolete informational reference (is this intentional?): RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Daboo 3 Internet-Draft Apple Inc. 4 Intended status: Standards Track March 14, 2011 5 Expires: September 15, 2011 7 New Properties for iCalendar 8 draft-daboo-icalendar-extensions-03 10 Abstract 12 This document defines a set of new properties for iCalendar data. 14 Status of this Memo 16 This Internet-Draft is submitted in full conformance with the 17 provisions of BCP 78 and BCP 79. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF). Note that other groups may also distribute 21 working documents as Internet-Drafts. The list of current Internet- 22 Drafts is at http://datatracker.ietf.org/drafts/current/. 24 Internet-Drafts are draft documents valid for a maximum of six months 25 and may be updated, replaced, or obsoleted by other documents at any 26 time. It is inappropriate to use Internet-Drafts as reference 27 material or to cite them other than as "work in progress." 29 This Internet-Draft will expire on September 15, 2011. 31 Copyright Notice 33 Copyright (c) 2011 IETF Trust and the persons identified as the 34 document authors. All rights reserved. 36 This document is subject to BCP 78 and the IETF Trust's Legal 37 Provisions Relating to IETF Documents 38 (http://trustee.ietf.org/license-info) in effect on the date of 39 publication of this document. Please review these documents 40 carefully, as they describe your rights and restrictions with respect 41 to this document. Code Components extracted from this document must 42 include Simplified BSD License text as described in Section 4.e of 43 the Trust Legal Provisions and are provided without warranty as 44 described in the Simplified BSD License. 46 Table of Contents 48 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 49 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 50 3. Modifications to Calendar Components . . . . . . . . . . . . . 3 51 4. Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 4 52 4.1. NAME Property . . . . . . . . . . . . . . . . . . . . . . 5 53 4.2. DESCRIPTION Property . . . . . . . . . . . . . . . . . . . 6 54 4.3. UID Property . . . . . . . . . . . . . . . . . . . . . . . 6 55 4.4. URL Property . . . . . . . . . . . . . . . . . . . . . . . 6 56 4.5. TZID Property . . . . . . . . . . . . . . . . . . . . . . 7 57 4.6. REFRESH-INTERVAL Property . . . . . . . . . . . . . . . . 7 58 4.7. COLOR Property . . . . . . . . . . . . . . . . . . . . . . 8 59 4.8. IMAGE Property . . . . . . . . . . . . . . . . . . . . . . 9 60 4.9. BROADCAST Property . . . . . . . . . . . . . . . . . . . . 10 61 4.10. CONFERENCE Property . . . . . . . . . . . . . . . . . . . 12 62 5. Property Parameters . . . . . . . . . . . . . . . . . . . . . 14 63 5.1. ALTURI Property Parameter . . . . . . . . . . . . . . . . 14 64 5.2. DISPLAY Property Parameter . . . . . . . . . . . . . . . . 14 65 5.3. FEATURE Property Parameter . . . . . . . . . . . . . . . . 15 66 5.4. INFO Property Parameter . . . . . . . . . . . . . . . . . 16 67 5.5. REGION Property Parameter . . . . . . . . . . . . . . . . 16 68 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17 69 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 70 7.1. Property Registrations . . . . . . . . . . . . . . . . . . 17 71 7.2. Parameter Registrations . . . . . . . . . . . . . . . . . 18 72 7.3. Display Types Registry . . . . . . . . . . . . . . . . . . 18 73 7.4. Feature Types Registry . . . . . . . . . . . . . . . . . . 18 74 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 75 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19 76 9.1. Normative References . . . . . . . . . . . . . . . . . . . 19 77 9.2. Informative References . . . . . . . . . . . . . . . . . . 19 78 Appendix A. Change History (To be removed by RFC Editor 79 before publication) . . . . . . . . . . . . . . . . . 19 80 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 20 82 1. Introduction 84 The iCalendar [RFC5545] data format is used to represent calendar 85 data and is used with iTIP [RFC5546] to handle scheduling operations 86 between calendar users. iCalendar is in widespread use, and in 87 accordance with provisions in that specification, extension elements 88 have been added by various vendors to the data format in order to 89 support and enhance capabilities. This specification collects a 90 number of these ad-hoc extensions and uses the new IANA registry 91 capability defined in [RFC5545] to register standard variants with 92 clearly defined definitions and semantics. In addition, some new 93 elements are introduced for features that vendors have recently been 94 requesting. 96 2. Conventions Used in This Document 98 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 99 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 100 "OPTIONAL" in this document are to be interpreted as described in 101 [RFC2119]. 103 The notation used in this memo is the ABNF notation of [RFC5234] as 104 used by iCalendar [RFC5545]. Any syntax elements shown below that 105 are not explicitly defined in this specification come from iCalendar 106 [RFC5545]. 108 3. Modifications to Calendar Components 110 The following changes to the syntax defined in iCalendar [RFC5545] 111 are made here. New elements are defined in subsequent sections. 113 calprops /= *( 114 ; 115 ; The following are OPTIONAL, 116 ; but MUST NOT occur more than once. 117 ; 118 uid / url / tzid / 119 calrefresh / color / 120 ; 121 ; The following are OPTIONAL, 122 ; and MAY occur more than once. 123 ; 124 calname / description / image 125 ; 126 ) 128 eventprop /= *( 129 ; 130 ; The following are OPTIONAL, 131 ; but MUST NOT occur more than once. 132 ; 133 color / 134 ; 135 ; The following are OPTIONAL, 136 ; and MAY occur more than once. 137 ; 138 image / broadcast / conference 139 ; 140 ) 142 todoprop /= *( 143 ; 144 ; The following are OPTIONAL, 145 ; but MUST NOT occur more than once. 146 ; 147 color / 148 ; 149 ; The following are OPTIONAL, 150 ; and MAY occur more than once. 151 ; 152 image / broadcast / conference 153 ; 154 ) 156 jourprop /= *( 157 ; 158 ; The following are OPTIONAL, 159 ; but MUST NOT occur more than once. 160 ; 161 color / 162 ; 163 ; The following are OPTIONAL, 164 ; and MAY occur more than once. 165 ; 166 image 167 ; 168 ) 170 4. Properties 171 4.1. NAME Property 173 Property Name: NAME 175 Purpose: This property specifies the name of the calendar. 177 Value Type: TEXT 179 Property Parameters: IANA, non-standard, alternate text 180 representation, and language property parameters can be specified 181 on this property. 183 Conformance: This property can be specified multiple times in an 184 iCalendar object. However, each property MUST represent the name 185 of the calendar in a different language. 187 Description: This property is used to specify a name (a short, one- 188 line description) of the iCalendar object that can be used by 189 calendar user agents when presenting the calendar data to a user. 190 Whilst a calendar only has a single name, multiple language 191 variants can be specified by including this property multiple 192 times with different "LANGUAGE" parameter values on each. 194 Format Definition: This property is defined by the following 195 notation: 197 calname = "NAME" calnameparam ":" text CRLF 199 calnameparam = *( 200 ; 201 ; The following are OPTIONAL, 202 ; but MUST NOT occur more than once. 203 ; 204 (";" altrepparam) / (";" languageparam) / 205 ; 206 ; The following is OPTIONAL, 207 ; and MAY occur more than once. 208 ; 209 (";" other-param) 210 ; 211 ) 213 Example: The following is an example of this property: 215 NAME:Company Vacation Days 217 4.2. DESCRIPTION Property 219 This specification modifies the definition of the "DESCRIPTION" 220 property to allow it to be defined on an iCalendar object. The 221 following additions are made to the definition of this property. 223 Purpose: This property specifies the description of the calendar. 225 Conformance: This property can be specified multiple times in an 226 iCalendar object. However, each property MUST represent the 227 description of the calendar in a different language. 229 Description: This property is used to specify a lengthy textual 230 description of the iCalendar object that can be used by calendar 231 user agents when describing the nature of the calendar data to a 232 user. Whilst a calendar only has a single description, multiple 233 language variants can be specified by including this property 234 multiple times with different "LANGUAGE" parameter values on each. 236 4.3. UID Property 238 This specification modifies the definition of the "UID" property to 239 allow it to be defined on an iCalendar object. The following 240 additions are made to the definition of this property. 242 Purpose: This property specifies the persistent, globally unique 243 identifier for the iCalendar object. 245 Conformance: This property can be specified once in an iCalendar 246 object. 248 4.4. URL Property 250 This specification modifies the definition of the "URL" property to 251 allow it to be defined on an iCalendar object. The following 252 additions are made to the definition of this property. 254 Purpose: This property specifies a URL from where the calendar data 255 was retrieved or where it can be refreshed. 257 Conformance: This property can be specified once in an iCalendar 258 object. 260 Description: This property specifies a URL identifying the source of 261 the calendar data and a location from where updates can be 262 retrieved. 264 4.5. TZID Property 266 This specification modifies the definition of the "TZID" property to 267 allow it to be defined on an iCalendar object. The following 268 additions are made to the definition of this property. 270 Purpose: This property specifies the default time zone identifier 271 for the iCalendar object as a whole. 273 Conformance: This property can be specified once in an iCalendar 274 object. 276 Description: This property specifies a time zone identifier that 277 represents the default timezone for which floating time or all-day 278 events in the iCalendar object can be assumed to be relative to. 279 It can also be used to choose an initial time zone for use when 280 creating new components in the iCalendar object. A "VTIMEZONE" 281 component having a "TZID" property matching the value specified in 282 this property MUST be present in the iCalendar object. 284 4.6. REFRESH-INTERVAL Property 286 Property Name: REFRESH-INTERVAL 288 Purpose: This property specifies a suggested minimum interval for 289 polling for changes of the calendar data from the original source 290 of that data. 292 Value Type: DURATION 294 Property Parameters: IANA and non-standard property parameters can 295 be specified on this property. 297 Conformance: This property can be specified once in an iCalendar 298 object. 300 Description: This property specifies a positive duration that gives 301 a suggested minimum polling interval for checking for updates to 302 the calendar data. The value of this property SHOULD be used by 303 calendar user agents to limit the polling interval for calendar 304 data updates to the minimum interval specified. 306 Format Definition: This property is defined by the following 307 notation: 309 calrefesh = "REFRESH-INTERVAL" calrefreshparam 310 ":" dur-value CRLF 311 ;consisting of a positive duration of time. 313 calrefeshparam = *(";" other-param) 315 Example: The following is an example of this property: 317 REFRESH-INTERVAL:P1W 319 4.7. COLOR Property 321 Property Name: COLOR 323 Purpose: This property specifies a color used for displaying the 324 calendar, event, todo, or journal data. 326 Value Type: INTEGER. The value MUST be three SEMICOLON-separated 327 INTEGER values. 329 Property Parameters: IANA and non-standard property parameters can 330 be specified on this property. 332 Conformance: This property can be specified once in an iCalendar 333 object, or "VEVENT", "VTODO", or "VJOURNAL" calendar components. 335 Description: This property specifies a color that client MAY use 336 when presenting the relevant data to a user. Typically this would 337 appear as the "background" color of events or tasks. The value 338 MUST be an RGB value with integer value components in the range 339 0..255. If a color is specified on a VEVENT, VTODO or VJOURNAL 340 that SHOULD override any color specified on the enclosing 341 iCalendar object. 343 Format Definition: This property is defined by the following 344 notation: 346 color = "COLOR" colorparam ":" colorvalue CRLF 348 colorparam = *(";" other-param) 350 colorvalue = integer ";" integer ";" integer 351 ; Red, green, and blue values in the range 352 ; 0 - 255. 354 Example: The following is an example of this property: 356 COLOR:255;0;255 358 4.8. IMAGE Property 360 Property Name: IMAGE 362 Purpose: This property specifies an image associated with the 363 calendar or a calendar component. 365 Value Type: The default value type for this property is URI. The 366 value type can also be set to BINARY to indicate inline binary 367 encoded content information. The value MUST refer to or be data 368 with a media type of "image". 370 Property Parameters: IANA, non-standard, display, inline encoding, 371 and value data type property parameters can be specified on this 372 property. The format type parameter can be specified on this 373 property and is RECOMMENDED for inline binary encoded content 374 information. 376 Conformance: This property can be specified multiple times in an 377 iCalendar object, or "VEVENT", "VTODO", or "VJOURNAL" calendar 378 components. 380 Description: This property specifies an image for an iCalendar 381 object or a calendar component via a uri or directly with inline 382 data that can be used by calendar user agents when presenting the 383 calendar data to a user. Multiple properties MAY be used to 384 specify alternative sets of images with, for example, varying 385 media subtypes, resolutions or sizes. When multiple properties 386 are present, calendar user agents SHOULD display only one of them, 387 picking one that provides the most appropriate image quality, or 388 display none. The "DISPLAY" parameter is used to indicate the 389 intended display mode for the image. An "ALTURI" parameter is 390 used to provide a "clickable" image where the URI in the parameter 391 value can be "launched" by a click on the image in the calendar 392 user agent. 394 Format Definition: This property is defined by the following 395 notation: 397 image = "IMAGE" imageparam ( ":" uri ) / 398 ( 399 ";" "ENCODING" "=" "BASE64" 400 ";" "VALUE" "=" "BINARY" 401 ":" binary 402 ) 403 CRLF 405 imageparam = *( 406 ; 407 ; The following is OPTIONAL for a URI value, 408 ; RECOMMENDED for a BINARY value, 409 ; and MUST NOT occur more than once. 410 ; 411 (";" fmttypeparam) / 412 ; 413 ; The following are OPTIONAL, 414 ; and MUST NOT occur more than once. 415 ; 416 (";" alturiparam) / (";" displayparam) / 417 ; 418 ; The following is OPTIONAL, 419 ; and MAY occur more than once. 420 ; 421 (";" other-param) 422 ; 423 ) 425 Example: The following is an example of this property: 427 IMAGE;DISPLAY=BACKGROUND;FMTTYPE=image/png:htt 428 p://example.com/images/party.png 430 4.9. BROADCAST Property 432 Property Name: BROADCAST 434 Purpose: This property specifies information for accessing a 435 broadcast of the event or task. 437 Value Type: URI. 439 Property Parameters: IANA, non-standard, feature, information, 440 language and region property parameters can be specified on this 441 property. 443 Conformance: This property can be specified multiple times in a 444 "VEVENT" or "VTODO" calendar component. 446 Description: This property specifies information for accessing a 447 broadcast system for attendees of a meeting or to-do. This might 448 be a feed: URI [RFC3496] for a live-blog of the event, or it might 449 be an http: URI [RFC2616] for a web-based blog, or it might be an 450 rtsp: URI [RFC2326] for an audio stream. 452 A broadcast is expected to be a uni-directional communication 453 channel, as opposed to a bi-directional channel which is instead 454 indicated by the "CONFERENCE" property (see Section 4.10). 456 The "FEATURE" property parameter is used to describe the key 457 capabilities of the broadcast system to allow a client to choose 458 the ones that give the required level of interaction from a set of 459 multiple properties. 461 The "INFO" property paramater is used to convey additional details 462 on the use of the URI. For example, access codes for the system. 464 The "LANGUAGE" property parameter is used to indicate the language 465 associated with the property, and in particular any "INFO" 466 property parameter. 468 The "REGION" property parameter is used to indicate the region 469 where this property is valid. For example, an audio system could 470 have several streaming servers that appropriate in different 471 geographic regions. This property parameter can be used to 472 differentiate those values so that a location aware device could 473 pick the most appropriate one automatically. 475 Format Definition: This property is defined by the following 476 notation: 478 broadcast = "BROADCAST" broadparam ":" uri CRLF 480 broadparam = *( 481 ; 482 ; The following are OPTIONAL, 483 ; and MUST NOT occur more than once. 484 ; 485 (";" featureparam) / (";" infoparam) / 486 (";" languageparam) / (";" regionparam) / 487 ; 488 ; The following is OPTIONAL, 489 ; and MAY occur more than once. 490 ; 491 (";" other-param) 492 ; 493 ) 495 Example: The following are examples of this property: 497 BROADCAST;FEATURE=AUDIO;REGION=CA;rtsp://stream.ca.example.com/event 498 BROADCAST;FEATURE=AUDIO;REGION=US;rtsp://stream.us.example.com/event 499 BROADCAST;FEATURE=AUDIO;REGION=UK;rtsp://stream.uk.example.com/event 500 BROADCAST;FEATURE=FEED;INFO=Live blog:http://blog.example.com/event 501 ence.example.com 503 4.10. CONFERENCE Property 505 Property Name: CONFERENCE 507 Purpose: This property specifies information for accessing a 508 conferencing system. 510 Value Type: URI. 512 Property Parameters: IANA, non-standard, feature, information, 513 language and region property parameters can be specified on this 514 property. 516 Conformance: This property can be specified multiple times in a 517 "VEVENT" or "VTODO" calendar component. 519 Description: This property specifies information for accessing a 520 conferencing system for attendees of a meeting or to-do. This 521 might be a tel: URI [RFC3496] for a telephone-based conference 522 number dial-in (with access codes included), or it might be an 523 http: URI [RFC2616] for a web-based video chat, or a URI for an 524 instant messaging group chat room. If a specific URI for a 525 conferencing system is not available, a data: URI [RFC2397] 526 containing a text description can be used. 528 A conference system is expected to be a bi-directional 529 communication channel, as opposed to a uni-directional "feed" 530 which is instead indicated by the "BROADCAST" property (see 531 Section 4.9). 533 The "FEATURE" property parameter is used to describe the key 534 capabilities of the conference system to allow a client to choose 535 the ones that give the required level of interaction from a set of 536 multiple properties. 538 The "INFO" property paramater is used to convey additional details 539 on the use of the URI. For example, the URIs or access codes for 540 the moderator and attendee of a teleconference system could be 541 different, and the "INFO" property parameter could be used to 542 "tag" each "CONFERENCE" property to indicate which is which. 544 The "LANGUAGE" property parameter is used to indicate the language 545 associated with the property, and in particular any "INFO" 546 property parameter. 548 The "REGION" property parameter is used to indicate the region 549 where this property is valid. For example, a telephone based 550 conference system could have several local access numbers that are 551 applicable in different geographic regions. This property 552 parameter can be used to differentiate those values so that a 553 location aware device could pick the most appropriate one 554 automatically. 556 Format Definition: This property is defined by the following 557 notation: 559 conference = "CONFERENCE" confparam ":" uri CRLF 561 confparam = *( 562 ; 563 ; The following are OPTIONAL, 564 ; and MUST NOT occur more than once. 565 ; 566 (";" featureparam) / (";" infoparam) / 567 (";" languageparam) / (";" regionparam) / 568 ; 569 ; The following is OPTIONAL, 570 ; and MAY occur more than once. 571 ; 572 (";" other-param) 573 ; 574 ) 576 Example: The following are examples of this property: 578 CONFERENCE;FEATURE=AUDIO;INFO=Moderator dial-in;REGION=US-PA:tel:+ 579 1-412-555-0123,,,654321 580 CONFERENCE;FEATURE=AUDIO;INFO=Attendee dial-in;REGION=US-PA:tel:+1 581 -412-555-0123,,,555123 582 CONFERENCE;FEATURE=AUDIO;INFO=Attendee dial-in;REGION=CA:tel:+1-88 583 8-555-0456,,,555123 584 CONFERENCE;FEATURE=CHAT;INFO=Chat room:xmpp:chat-123@confer 585 ence.example.com 587 5. Property Parameters 589 5.1. ALTURI Property Parameter 591 Parameter Name: ALTURI 593 Purpose: To specify a URI alternative to a property value. 595 Format Definition: This property parameter is defined by the 596 following notation: 598 alturiparam = "ALTURI" "=" DQUOTE uri DQUOTE 600 Description: This property parameter MAY be specified on "IMAGE" 601 properties. 603 Example: 605 IMAGE;FMTTYPE=image/png:ALTURI="http://ex 606 ample.com/clicked-image1":http://example 607 .com/images/party.png 609 5.2. DISPLAY Property Parameter 611 Parameter Name: DISPLAY 613 Purpose: To specify different ways in which an image for a calendar 614 or component can be displayed. 616 Format Definition: This property parameter is defined by the 617 following notation: 619 displayparam = "DISPLAY" "=" 620 ("BADGE" / ; A small "badge" image 621 "BACKGROUND" / ; Use as a background image 622 "OVERLAY" / ; Use as an overlay image 623 "BANNER" / ; Use as a "banner" across the top 624 x-name / ; Experimental type 625 iana-token) ; Other IANA registered type 626 ; 627 ; Default is BADGE 629 Description: This property parameter MAY be specified on "IMAGE" or 630 "IMAGE" properties. In the absence of this parameter, the value 631 "BADGE" MUST be used for the default behavior. The value 632 determines how a client ought to present an image supplied in 633 iCalendar data to the user. 635 Values for this parameter are registered with IANA as per 636 Section 7.3. New values can be added to this registry following 637 the procedure outlined in Section 8.2.1 of [RFC5545]. 639 Servers and clients MUST handle x-name and iana-token values they 640 don't recognize by not displaying any image at all. 642 Example: 644 IMAGE;DISPLAY=BANNER;FMTTYPE=image/png:htt 645 p://example.com/images/weather-cloudy.png 647 5.3. FEATURE Property Parameter 649 Parameter Name: FEATURE 651 Purpose: To specify a feature or features of a conference or 652 broadcast system. 654 Format Definition: This property parameter is defined by the 655 following notation: 657 featureparam = "FEATURE" "=" featuretext *("," featuretext) 658 featuretext = ("AUDIO" / ; Audio capability 659 "CHAT" / ; Chat or instanst messaging 660 "FEED" / ; Blog or Atom feed 661 "SCREEN" / ; Screen sharing 662 "VIDEO" / ; Video capability 663 x-name / ; Experimental type 664 iana-token) ; Other IANA registered type 666 Description: This property parameter MAY be specified on "BROADCAST" 667 or "CONFERENCE" properties. 669 Example: 671 BROADCAST;FEATURE=AUDIO:rtsp://audio.example.com/event 672 CONFERENCE;FEATURE=AUDIO,VIDEO:http://video-chat.ex 673 ample.com/;group-id=1234 675 5.4. INFO Property Parameter 677 Parameter Name: INFO 679 Purpose: To specify descriptive text about a property. 681 Format Definition: This property parameter is defined by the 682 following notation: 684 infoparam = "INFO" "=" paramtext 686 Description: This property parameter MAY be specified on "BROADCAST" 687 and "CONFERENCE" properties. 689 Example: 691 BROADCAST;INFO=Audio stream;FEATURE=AUDIO:rtsp:// 692 audio.example.com/event 693 CONFERENCE;INFO="Web video chat, access code=7654 694 3";:http://video-chat.example.com/;group-id=1234 696 5.5. REGION Property Parameter 698 Parameter Name: REGION 700 Purpose: To specify a region or regions where a broadcast or 701 conference system is valid. 703 Format Definition: This property parameter is defined by the 704 following notation: 706 regionparam = "REGION" "=" regiontext *("," regiontext) 707 regiontext = paramtext ; an ISO3166-1 or ISO3166-2 code 709 Description: This property parameter MAY be specified on "BROADCAST" 710 or "CONFERENCE" properties. 712 Example: 714 CONFERENCE;FEATURE=AUDIO;INFO=Moderator dial-in;REGION=US-PA:tel:+1 715 -412-555-0123,,,654321 717 6. Security Considerations 719 Several of the new properties or parameters defined by this 720 specification allow reference to "external" URIs. Care MUST be taken 721 when accessing data at external URIs as malicious content could be 722 present. In addition, access to those URIs could be tracked, leading 723 to loss of privacy. 725 Clients MUST by default prompt users before automatically accessing a 726 broadcast or conference system for the first time to prevent 727 attackers from being able to trigger access to a host computer simply 728 by sending an event invitation. 730 7. IANA Considerations 732 7.1. Property Registrations 734 This document defines the following new iCalendar properties to be 735 added to the registry defined in Section 8.2.3 of [RFC5545]: 737 +------------------+---------+--------------------------------------+ 738 | Property | Status | Reference | 739 +------------------+---------+--------------------------------------+ 740 | NAME | Current | RFCXXXX, Section 4.1 | 741 | DESCRIPTION | Current | RFC5545 Section 3.8.1.5, RFCXXXX, | 742 | | | Section 4.2 | 743 | UID | Current | RFC5545 Section 3.8.4.7, RFCXXXX, | 744 | | | Section 4.3 | 745 | URL | Current | RFC5545 Section 3.8.4.6, RFCXXXX, | 746 | | | Section 4.4 | 747 | TZID | Current | RFC5545 Section 3.8.3.1, RFCXXXX, | 748 | | | Section 4.5 | 749 | REFRESH-INTERVAL | Current | RFCXXXX, Section 4.6 | 750 | COLOR | Current | RFCXXXX, Section 4.7 | 751 | IMAGE | Current | RFCXXXX, Section 4.8 | 752 | BROADCAST | Current | RFCXXXX, Section 4.9 | 753 | CONFERENCE | Current | RFCXXXX, Section 4.10 | 754 +------------------+---------+--------------------------------------+ 756 7.2. Parameter Registrations 758 This document defines the following new iCalendar property parameters 759 to be added to the registry defined in Section 8.2.4 of [RFC5545]: 761 +--------------------+---------+----------------------+ 762 | Property Parameter | Status | Reference | 763 +--------------------+---------+----------------------+ 764 | ALTURI | Current | RFCXXXX, Section 5.1 | 765 | DISPLAY | Current | RFCXXXX, Section 5.2 | 766 | FEATURE | Current | RFCXXXX, Section 5.3 | 767 | INFO | Current | RFCXXXX, Section 5.4 | 768 | REGION | Current | RFCXXXX, Section 5.5 | 769 +--------------------+---------+----------------------+ 771 7.3. Display Types Registry 773 This document defines the following new iCalendar value registry as 774 per Section 8.2.6 of [RFC5545]: 776 +--------------+---------+----------------------+ 777 | Display Type | Status | Reference | 778 +--------------+---------+----------------------+ 779 | BADGE | Current | RFCXXXX, Section 5.2 | 780 | BACKGROUND | Current | RFCXXXX, Section 5.2 | 781 | OVERLAY | Current | RFCXXXX, Section 5.2 | 782 | BANNER | Current | RFCXXXX, Section 5.2 | 783 +--------------+---------+----------------------+ 785 7.4. Feature Types Registry 787 This document defines the following new iCalendar value registry as 788 per Section 8.2.6 of [RFC5545]: 790 +--------------+---------+----------------------+ 791 | Feature Type | Status | Reference | 792 +--------------+---------+----------------------+ 793 | AUDIO | Current | RFCXXXX, Section 5.3 | 794 | CHAT | Current | RFCXXXX, Section 5.3 | 795 | FEED | Current | RFCXXXX, Section 5.3 | 796 | SCREEN | Current | RFCXXXX, Section 5.3 | 797 | VIDEO | Current | RFCXXXX, Section 5.3 | 798 +--------------+---------+----------------------+ 800 8. Acknowledgments 802 This specification came about via discussions at the Calendaring and 803 Scheduling Consortium. 805 9. References 807 9.1. Normative References 809 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 810 Requirement Levels", BCP 14, RFC 2119, March 1997. 812 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 813 Specifications: ABNF", STD 68, RFC 5234, January 2008. 815 [RFC5545] Desruisseaux, B., "Internet Calendaring and Scheduling 816 Core Object Specification (iCalendar)", RFC 5545, 817 September 2009. 819 9.2. Informative References 821 [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time 822 Streaming Protocol (RTSP)", RFC 2326, April 1998. 824 [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, 825 August 1998. 827 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 828 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 829 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 831 [RFC3496] Malis, A. and T. Hsiao, "Protocol Extension for Support of 832 Asynchronous Transfer Mode (ATM) Service Class-aware 833 Multiprotocol Label Switching (MPLS) Traffic Engineering", 834 RFC 3496, March 2003. 836 [RFC5546] Daboo, C., "iCalendar Transport-Independent 837 Interoperability Protocol (iTIP)", RFC 5546, 838 December 2009. 840 Appendix A. Change History (To be removed by RFC Editor before 841 publication) 843 Changes in -03: 845 1. Dropped CALENDAR- prefix 847 2. DESCRIPTION, UID and TZID now based on existing RFC5545 848 properties 850 3. COLOR now on both the calendar and component level 852 4. IMAGE now on both the calendar and component level 854 5. Added FEATURE and REGION parameters to CONFERENCE property 856 6. Added ALTURI parameter to IMAGE property 858 7. Added FEED value to FEATURE parameter 860 8. Added BROADCAST property and clarified that CONFERENCE is for bi- 861 direction channels and BROADCAST is for uni-directional. 863 Changes in -02: 865 1. Minor wording changes. 867 2. Interval is now described as the "minimum interval". 869 3. Added CONFERENCE property and INFO parameter. 871 Changes in -01: 873 1. Fixed DISPLAY parameter handling of x- and iana tokens to state 874 that clients ignore the image if the token is not recognized. 876 2. Allow language variants for CALENDAR-NAME and CALENDAR- 877 DESCRIPTION. 879 3. Added registry for DISPLAY values. 881 Author's Address 883 Cyrus Daboo 884 Apple Inc. 885 1 Infinite Loop 886 Cupertino, CA 95014 887 USA 889 Email: cyrus@daboo.name 890 URI: http://www.apple.com/