idnits 2.17.1 draft-daboo-icalendar-extensions-04.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 (April 7, 2011) is 4767 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 April 7, 2011 5 Expires: October 9, 2011 7 New Properties for iCalendar 8 draft-daboo-icalendar-extensions-04 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 October 9, 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. TIMEZONE-ID 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 / timezid / 119 refresh / color / 120 ; 121 ; The following are OPTIONAL, 122 ; and MAY occur more than once. 123 ; 124 name / 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 name = "NAME" nameparam ":" text CRLF 199 nameparam = *( 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. TIMEZONE-ID Property 266 Property Name: TIMEZONE-ID 268 Purpose: This property specifies the default time zone identifier 269 for the iCalendar object as a whole. 271 Value Type: TEXT 273 Property Parameters: IANA and non-standard property parameters can 274 be specified on this property. 276 Conformance: This property can be specified once in an iCalendar 277 object. 279 Description: This property specifies a time zone identifier that 280 represents the default timezone for which floating time or all-day 281 events in the iCalendar object can be assumed to be relative to. 282 It can also be used to choose an initial time zone for use when 283 creating new components in the iCalendar object. A "VTIMEZONE" 284 component having a "TZID" property matching the value specified in 285 this property MUST be present in the iCalendar object. 287 Format Definition: This property is defined by the following 288 notation: 290 timezid = "TIMEZONE-ID" timezidparam 291 ":" text CRLF 292 ;Same value syntax as "TZID" property. 294 timezidparam = *(";" other-param) 296 Example: The following is an example of this property: 298 TIMEZONE-ID:America/New_York 300 4.6. REFRESH-INTERVAL Property 302 Property Name: REFRESH-INTERVAL 304 Purpose: This property specifies a suggested minimum interval for 305 polling for changes of the calendar data from the original source 306 of that data. 308 Value Type: DURATION 309 Property Parameters: IANA and non-standard property parameters can 310 be specified on this property. 312 Conformance: This property can be specified once in an iCalendar 313 object. 315 Description: This property specifies a positive duration that gives 316 a suggested minimum polling interval for checking for updates to 317 the calendar data. The value of this property SHOULD be used by 318 calendar user agents to limit the polling interval for calendar 319 data updates to the minimum interval specified. 321 Format Definition: This property is defined by the following 322 notation: 324 refresh = "REFRESH-INTERVAL" refreshparam 325 ":" dur-value CRLF 326 ;consisting of a positive duration of time. 328 refreshparam = *(";" other-param) 330 Example: The following is an example of this property: 332 REFRESH-INTERVAL:P1W 334 4.7. COLOR Property 336 Property Name: COLOR 338 Purpose: This property specifies a color used for displaying the 339 calendar, event, todo, or journal data. 341 Value Type: INTEGER. The value MUST be three SEMICOLON-separated 342 INTEGER values. 344 Property Parameters: IANA and non-standard property parameters can 345 be specified on this property. 347 Conformance: This property can be specified once in an iCalendar 348 object, or "VEVENT", "VTODO", or "VJOURNAL" calendar components. 350 Description: This property specifies a color that client MAY use 351 when presenting the relevant data to a user. Typically this would 352 appear as the "background" color of events or tasks. The value 353 MUST be an RGB value with integer value components in the range 354 0..255. If a color is specified on a VEVENT, VTODO or VJOURNAL 355 that SHOULD override any color specified on the enclosing 356 iCalendar object. 358 Format Definition: This property is defined by the following 359 notation: 361 color = "COLOR" colorparam ":" colorvalue CRLF 363 colorparam = *(";" other-param) 365 colorvalue = integer ";" integer ";" integer 366 ; Red, green, and blue values in the range 367 ; 0 - 255. 369 Example: The following is an example of this property: 371 COLOR:255;0;255 373 4.8. IMAGE Property 375 Property Name: IMAGE 377 Purpose: This property specifies an image associated with the 378 calendar or a calendar component. 380 Value Type: The default value type for this property is URI. The 381 value type can also be set to BINARY to indicate inline binary 382 encoded content information. The value MUST refer to or be data 383 with a media type of "image". 385 Property Parameters: IANA, non-standard, display, inline encoding, 386 and value data type property parameters can be specified on this 387 property. The format type parameter can be specified on this 388 property and is RECOMMENDED for inline binary encoded content 389 information. 391 Conformance: This property can be specified multiple times in an 392 iCalendar object, or "VEVENT", "VTODO", or "VJOURNAL" calendar 393 components. 395 Description: This property specifies an image for an iCalendar 396 object or a calendar component via a uri or directly with inline 397 data that can be used by calendar user agents when presenting the 398 calendar data to a user. Multiple properties MAY be used to 399 specify alternative sets of images with, for example, varying 400 media subtypes, resolutions or sizes. When multiple properties 401 are present, calendar user agents SHOULD display only one of them, 402 picking one that provides the most appropriate image quality, or 403 display none. The "DISPLAY" parameter is used to indicate the 404 intended display mode for the image. An "ALTURI" parameter is 405 used to provide a "clickable" image where the URI in the parameter 406 value can be "launched" by a click on the image in the calendar 407 user agent. 409 Format Definition: This property is defined by the following 410 notation: 412 image = "IMAGE" imageparam ( ":" uri ) / 413 ( 414 ";" "ENCODING" "=" "BASE64" 415 ";" "VALUE" "=" "BINARY" 416 ":" binary 417 ) 418 CRLF 420 imageparam = *( 421 ; 422 ; The following is OPTIONAL for a URI value, 423 ; RECOMMENDED for a BINARY value, 424 ; and MUST NOT occur more than once. 425 ; 426 (";" fmttypeparam) / 427 ; 428 ; The following are OPTIONAL, 429 ; and MUST NOT occur more than once. 430 ; 431 (";" alturiparam) / (";" displayparam) / 432 ; 433 ; The following is OPTIONAL, 434 ; and MAY occur more than once. 435 ; 436 (";" other-param) 437 ; 438 ) 440 Example: The following is an example of this property: 442 IMAGE;DISPLAY=BACKGROUND;FMTTYPE=image/png:htt 443 p://example.com/images/party.png 445 4.9. BROADCAST Property 447 Property Name: BROADCAST 449 Purpose: This property specifies information for accessing a 450 broadcast of the event or task. 452 Value Type: URI. 454 Property Parameters: IANA, non-standard, feature, information, 455 language and region property parameters can be specified on this 456 property. 458 Conformance: This property can be specified multiple times in a 459 "VEVENT" or "VTODO" calendar component. 461 Description: This property specifies information for accessing a 462 broadcast system for attendees of a meeting or to-do. This might 463 be a feed: URI [RFC3496] for a live-blog of the event, or it might 464 be an http: URI [RFC2616] for a web-based blog, or it might be an 465 rtsp: URI [RFC2326] for an audio stream. 467 A broadcast is expected to be a uni-directional communication 468 channel, as opposed to a bi-directional channel which is instead 469 indicated by the "CONFERENCE" property (see Section 4.10). 471 The "FEATURE" property parameter is used to describe the key 472 capabilities of the broadcast system to allow a client to choose 473 the ones that give the required level of interaction from a set of 474 multiple properties. 476 The "INFO" property paramater is used to convey additional details 477 on the use of the URI. For example, access codes for the system. 479 The "LANGUAGE" property parameter is used to indicate the language 480 associated with the property, and in particular any "INFO" 481 property parameter. 483 The "REGION" property parameter is used to indicate the region 484 where this property is valid. For example, an audio system could 485 have several streaming servers that appropriate in different 486 geographic regions. This property parameter can be used to 487 differentiate those values so that a location aware device could 488 pick the most appropriate one automatically. 490 Format Definition: This property is defined by the following 491 notation: 493 broadcast = "BROADCAST" broadparam ":" uri CRLF 495 broadparam = *( 496 ; 497 ; The following are OPTIONAL, 498 ; and MUST NOT occur more than once. 499 ; 500 (";" featureparam) / (";" infoparam) / 501 (";" languageparam) / (";" regionparam) / 502 ; 503 ; The following is OPTIONAL, 504 ; and MAY occur more than once. 505 ; 506 (";" other-param) 507 ; 508 ) 510 Example: The following are examples of this property: 512 BROADCAST;FEATURE=AUDIO;REGION=CA;rtsp://stream.ca.example.com/event 513 BROADCAST;FEATURE=AUDIO;REGION=US;rtsp://stream.us.example.com/event 514 BROADCAST;FEATURE=AUDIO;REGION=UK;rtsp://stream.uk.example.com/event 515 BROADCAST;FEATURE=FEED;INFO=Live blog:http://blog.example.com/event 516 ence.example.com 518 4.10. CONFERENCE Property 520 Property Name: CONFERENCE 522 Purpose: This property specifies information for accessing a 523 conferencing system. 525 Value Type: URI. 527 Property Parameters: IANA, non-standard, feature, information, 528 language and region property parameters can be specified on this 529 property. 531 Conformance: This property can be specified multiple times in a 532 "VEVENT" or "VTODO" calendar component. 534 Description: This property specifies information for accessing a 535 conferencing system for attendees of a meeting or to-do. This 536 might be a tel: URI [RFC3496] for a telephone-based conference 537 number dial-in (with access codes included), or it might be an 538 http: URI [RFC2616] for a web-based video chat, or a URI for an 539 instant messaging group chat room. If a specific URI for a 540 conferencing system is not available, a data: URI [RFC2397] 541 containing a text description can be used. 543 A conference system is expected to be a bi-directional 544 communication channel, as opposed to a uni-directional "feed" 545 which is instead indicated by the "BROADCAST" property (see 546 Section 4.9). 548 The "FEATURE" property parameter is used to describe the key 549 capabilities of the conference system to allow a client to choose 550 the ones that give the required level of interaction from a set of 551 multiple properties. 553 The "INFO" property paramater is used to convey additional details 554 on the use of the URI. For example, the URIs or access codes for 555 the moderator and attendee of a teleconference system could be 556 different, and the "INFO" property parameter could be used to 557 "tag" each "CONFERENCE" property to indicate which is which. 559 The "LANGUAGE" property parameter is used to indicate the language 560 associated with the property, and in particular any "INFO" 561 property parameter. 563 The "REGION" property parameter is used to indicate the region 564 where this property is valid. For example, a telephone based 565 conference system could have several local access numbers that are 566 applicable in different geographic regions. This property 567 parameter can be used to differentiate those values so that a 568 location aware device could pick the most appropriate one 569 automatically. 571 Format Definition: This property is defined by the following 572 notation: 574 conference = "CONFERENCE" confparam ":" uri CRLF 576 confparam = *( 577 ; 578 ; The following are OPTIONAL, 579 ; and MUST NOT occur more than once. 580 ; 581 (";" featureparam) / (";" infoparam) / 582 (";" languageparam) / (";" regionparam) / 583 ; 584 ; The following is OPTIONAL, 585 ; and MAY occur more than once. 586 ; 587 (";" other-param) 588 ; 589 ) 591 Example: The following are examples of this property: 593 CONFERENCE;FEATURE=AUDIO;INFO=Moderator dial-in;REGION=US-PA:tel:+ 594 1-412-555-0123,,,654321 595 CONFERENCE;FEATURE=AUDIO;INFO=Attendee dial-in;REGION=US-PA:tel:+1 596 -412-555-0123,,,555123 597 CONFERENCE;FEATURE=AUDIO;INFO=Attendee dial-in;REGION=CA:tel:+1-88 598 8-555-0456,,,555123 599 CONFERENCE;FEATURE=CHAT;INFO=Chat room:xmpp:chat-123@confer 600 ence.example.com 602 5. Property Parameters 604 5.1. ALTURI Property Parameter 606 Parameter Name: ALTURI 608 Purpose: To specify a URI alternative to a property value. 610 Format Definition: This property parameter is defined by the 611 following notation: 613 alturiparam = "ALTURI" "=" DQUOTE uri DQUOTE 615 Description: This property parameter MAY be specified on "IMAGE" 616 properties. 618 Example: 620 IMAGE;FMTTYPE=image/png:ALTURI="http://ex 621 ample.com/clicked-image1":http://example 622 .com/images/party.png 624 5.2. DISPLAY Property Parameter 626 Parameter Name: DISPLAY 628 Purpose: To specify different ways in which an image for a calendar 629 or component can be displayed. 631 Format Definition: This property parameter is defined by the 632 following notation: 634 displayparam = "DISPLAY" "=" 635 ("BADGE" / ; A small "badge" image 636 "BACKGROUND" / ; Use as a background image 637 "OVERLAY" / ; Use as an overlay image 638 "BANNER" / ; Use as a "banner" across the top 639 x-name / ; Experimental type 640 iana-token) ; Other IANA registered type 641 ; 642 ; Default is BADGE 644 Description: This property parameter MAY be specified on "IMAGE" or 645 "IMAGE" properties. In the absence of this parameter, the value 646 "BADGE" MUST be used for the default behavior. The value 647 determines how a client ought to present an image supplied in 648 iCalendar data to the user. 650 Values for this parameter are registered with IANA as per 651 Section 7.3. New values can be added to this registry following 652 the procedure outlined in Section 8.2.1 of [RFC5545]. 654 Servers and clients MUST handle x-name and iana-token values they 655 don't recognize by not displaying any image at all. 657 Example: 659 IMAGE;DISPLAY=BANNER;FMTTYPE=image/png:htt 660 p://example.com/images/weather-cloudy.png 662 5.3. FEATURE Property Parameter 664 Parameter Name: FEATURE 666 Purpose: To specify a feature or features of a conference or 667 broadcast system. 669 Format Definition: This property parameter is defined by the 670 following notation: 672 featureparam = "FEATURE" "=" featuretext *("," featuretext) 673 featuretext = ("AUDIO" / ; Audio capability 674 "CHAT" / ; Chat or instanst messaging 675 "FEED" / ; Blog or Atom feed 676 "SCREEN" / ; Screen sharing 677 "VIDEO" / ; Video capability 678 x-name / ; Experimental type 679 iana-token) ; Other IANA registered type 681 Description: This property parameter MAY be specified on "BROADCAST" 682 or "CONFERENCE" properties. 684 Example: 686 BROADCAST;FEATURE=AUDIO:rtsp://audio.example.com/event 687 CONFERENCE;FEATURE=AUDIO,VIDEO:http://video-chat.ex 688 ample.com/;group-id=1234 690 5.4. INFO Property Parameter 692 Parameter Name: INFO 694 Purpose: To specify descriptive text about a property. 696 Format Definition: This property parameter is defined by the 697 following notation: 699 infoparam = "INFO" "=" paramtext 701 Description: This property parameter MAY be specified on "BROADCAST" 702 and "CONFERENCE" properties. 704 Example: 706 BROADCAST;INFO=Audio stream;FEATURE=AUDIO:rtsp:// 707 audio.example.com/event 708 CONFERENCE;INFO="Web video chat, access code=7654 709 3";:http://video-chat.example.com/;group-id=1234 711 5.5. REGION Property Parameter 713 Parameter Name: REGION 715 Purpose: To specify a region or regions where a broadcast or 716 conference system is valid. 718 Format Definition: This property parameter is defined by the 719 following notation: 721 regionparam = "REGION" "=" regiontext *("," regiontext) 722 regiontext = paramtext ; an ISO3166-1 or ISO3166-2 code 724 Description: This property parameter MAY be specified on "BROADCAST" 725 or "CONFERENCE" properties. 727 Example: 729 CONFERENCE;FEATURE=AUDIO;INFO=Moderator dial-in;REGION=US-PA:tel:+1 730 -412-555-0123,,,654321 732 6. Security Considerations 734 Several of the new properties or parameters defined by this 735 specification allow reference to "external" URIs. Care MUST be taken 736 when accessing data at external URIs as malicious content could be 737 present. In addition, access to those URIs could be tracked, leading 738 to loss of privacy. 740 Clients MUST by default prompt users before automatically accessing a 741 broadcast or conference system for the first time to prevent 742 attackers from being able to trigger access to a host computer simply 743 by sending an event invitation. 745 7. IANA Considerations 747 7.1. Property Registrations 749 This document defines the following new iCalendar properties to be 750 added to the registry defined in Section 8.2.3 of [RFC5545]: 752 +------------------+---------+--------------------------------------+ 753 | Property | Status | Reference | 754 +------------------+---------+--------------------------------------+ 755 | NAME | Current | RFCXXXX, Section 4.1 | 756 | DESCRIPTION | Current | RFC5545 Section 3.8.1.5, RFCXXXX, | 757 | | | Section 4.2 | 758 | UID | Current | RFC5545 Section 3.8.4.7, RFCXXXX, | 759 | | | Section 4.3 | 760 | URL | Current | RFC5545 Section 3.8.4.6, RFCXXXX, | 761 | | | Section 4.4 | 762 | TIMEZONE-ID | Current | RFCXXXX, Section 4.5 | 763 | REFRESH-INTERVAL | Current | RFCXXXX, Section 4.6 | 764 | COLOR | Current | RFCXXXX, Section 4.7 | 765 | IMAGE | Current | RFCXXXX, Section 4.8 | 766 | BROADCAST | Current | RFCXXXX, Section 4.9 | 767 | CONFERENCE | Current | RFCXXXX, Section 4.10 | 768 +------------------+---------+--------------------------------------+ 770 7.2. Parameter Registrations 772 This document defines the following new iCalendar property parameters 773 to be added to the registry defined in Section 8.2.4 of [RFC5545]: 775 +--------------------+---------+----------------------+ 776 | Property Parameter | Status | Reference | 777 +--------------------+---------+----------------------+ 778 | ALTURI | Current | RFCXXXX, Section 5.1 | 779 | DISPLAY | Current | RFCXXXX, Section 5.2 | 780 | FEATURE | Current | RFCXXXX, Section 5.3 | 781 | INFO | Current | RFCXXXX, Section 5.4 | 782 | REGION | Current | RFCXXXX, Section 5.5 | 783 +--------------------+---------+----------------------+ 785 7.3. Display Types Registry 787 This document defines the following new iCalendar value registry as 788 per Section 8.2.6 of [RFC5545]: 790 +--------------+---------+----------------------+ 791 | Display Type | Status | Reference | 792 +--------------+---------+----------------------+ 793 | BADGE | Current | RFCXXXX, Section 5.2 | 794 | BACKGROUND | Current | RFCXXXX, Section 5.2 | 795 | OVERLAY | Current | RFCXXXX, Section 5.2 | 796 | BANNER | Current | RFCXXXX, Section 5.2 | 797 +--------------+---------+----------------------+ 799 7.4. Feature Types Registry 801 This document defines the following new iCalendar value registry as 802 per Section 8.2.6 of [RFC5545]: 804 +--------------+---------+----------------------+ 805 | Feature Type | Status | Reference | 806 +--------------+---------+----------------------+ 807 | AUDIO | Current | RFCXXXX, Section 5.3 | 808 | CHAT | Current | RFCXXXX, Section 5.3 | 809 | FEED | Current | RFCXXXX, Section 5.3 | 810 | SCREEN | Current | RFCXXXX, Section 5.3 | 811 | VIDEO | Current | RFCXXXX, Section 5.3 | 812 +--------------+---------+----------------------+ 814 8. Acknowledgments 816 Thanks to the following for feedback: Bernard Desruisseaux, Mike 817 Douglass, Arnaud Quillaud, and Dave Thewlis. This specification came 818 about via discussions at the Calendaring and Scheduling Consortium. 820 9. References 822 9.1. Normative References 824 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 825 Requirement Levels", BCP 14, RFC 2119, March 1997. 827 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 828 Specifications: ABNF", STD 68, RFC 5234, January 2008. 830 [RFC5545] Desruisseaux, B., "Internet Calendaring and Scheduling 831 Core Object Specification (iCalendar)", RFC 5545, 832 September 2009. 834 9.2. Informative References 836 [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time 837 Streaming Protocol (RTSP)", RFC 2326, April 1998. 839 [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, 840 August 1998. 842 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 843 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 844 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 846 [RFC3496] Malis, A. and T. Hsiao, "Protocol Extension for Support of 847 Asynchronous Transfer Mode (ATM) Service Class-aware 848 Multiprotocol Label Switching (MPLS) Traffic Engineering", 849 RFC 3496, March 2003. 851 [RFC5546] Daboo, C., "iCalendar Transport-Independent 852 Interoperability Protocol (iTIP)", RFC 5546, 853 December 2009. 855 Appendix A. Change History (To be removed by RFC Editor before 856 publication) 858 Changes in -04: 860 1. TZID changed to new property TIMEZONE-ID. 862 2. Minor formal syntax changes. 864 Changes in -03: 866 1. Dropped CALENDAR- prefix 868 2. DESCRIPTION, UID and TZID now based on existing RFC5545 869 properties 871 3. COLOR now on both the calendar and component level 873 4. IMAGE now on both the calendar and component level 875 5. Added FEATURE and REGION parameters to CONFERENCE property 877 6. Added ALTURI parameter to IMAGE property 879 7. Added FEED value to FEATURE parameter 881 8. Added BROADCAST property and clarified that CONFERENCE is for bi- 882 direction channels and BROADCAST is for uni-directional. 884 Changes in -02: 886 1. Minor wording changes. 888 2. Interval is now described as the "minimum interval". 890 3. Added CONFERENCE property and INFO parameter. 892 Changes in -01: 894 1. Fixed DISPLAY parameter handling of x- and iana tokens to state 895 that clients ignore the image if the token is not recognized. 897 2. Allow language variants for CALENDAR-NAME and CALENDAR- 898 DESCRIPTION. 900 3. Added registry for DISPLAY values. 902 Author's Address 904 Cyrus Daboo 905 Apple Inc. 906 1 Infinite Loop 907 Cupertino, CA 95014 908 USA 910 Email: cyrus@daboo.name 911 URI: http://www.apple.com/