INDIVIDUAL SUBMISSION Coulombe, Chandra, Pessi INTERNET-DRAFT Nokia Expires: April 2004 October 2003 New Media Feature Tags for Indicating User Agent Capabilities: Message Size and Visual Media Resolution draft-coulombe-media-tags-size-resolution-00 Status of this memo This document is an Internet-Draft and is subject to all provisions of Section 10 of RFC2026. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Abstract This Internet-Draft presents new media tags to express user agent media capabilities. The media tags proposed are message size and visual media resolution. cchandra Expires: April 2004 [Page 1] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 Table of Contents 1. Terminology.....................................................2 2. Introduction....................................................2 3. Overview of Proposed Media Feature Tags.........................3 3.1 Motivation for proposed new media feature tags...............3 3.2 Use cases for the proposed Media feature tags................3 3.2.1 Content Indirection of SIP Instant Messages..............3 3.2.2 Routing of Messages based on UA capabilities (Multiple Registrations)...........................................4 4. Description of the proposed media feature tags..................4 4.1 Maximum Size Of Message Body (max-length)....................4 4.2 Maximum resolution (media-pix-x and media-pix-y).............5 5. Examples........................................................6 5.1 Content Indirection..........................................6 5.2 Routing of Messages for Multiple Registrations...............7 6. Security consideration..........................................8 7. IANA considerations.............................................8 7.1 max-length...................................................9 7.2 media-pix-x..................................................9 7.3 media-pix-y.................................................10 Intellectual Property Right Considerations.....................10 References.....................................................10 Author's Address...............................................11 Expiration Date................................................11 1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [1]. 2. Introduction This draft introduces two new media feature tags for indicating UA (User Agent) media capabilities. They relate to message size and visual content resolution capabilities. We present in this document how the proposed media tags are used in the context of "Indicating User Agent Capabilities in SIP" [10]. cchandra Expires: April 2004 [Page 2] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 3. Overview of Proposed Media Feature Tags This section introduces the proposed media feature tags and describes how they can be used in context of Callee Capabilities for the Session Initiation Protocol (SIP). Some use cases are presented to justify their usefulness. 3.1 Motivation for proposed new media feature tags The media feature tags were designed to provide terminal capability information beyond simple capabilities such as supported MIME types. There are some situations where it is useful to provide more detailed information about the user agents capabilities. For example if the user agent is a mobile terminal, which supports media-rich SIP instant messages, there is no way to indicate the maximum size of the message this terminal can support. Another important characteristic of mobile terminals is the maximum resolution of visual media types (such as images or video) that they can handle. This may be related to the display resolution but more often not. Often the maximum resolution that can be handled exceeds the display resolution. The registered media tags "pix-x" and "pix-y" only denote the display resolution [9]. There is currently no way to indicate the maximum supported resolution. In this draft we are proposing two new media feature tags. o max-length to denote the maximum body size of a SIP message a user agent can support. o media-pix-x and media-pix-y to denote the maximum resolution for a visual MIME type (e.g. image or video) a user agent can support. 3.2 Use cases for the proposed Media feature tags This section presents some use cases where using the proposed media tags is beneficial. Detailed examples of these use cases are described in section 5. 3.2.1 Content Indirection of SIP Instant Messages In content indirection, a SIP proxy/registrar, when it receives the message for a user in its domain, can decide either to send the message to the user's terminal (when it can support the message) or store the message in a server. In the later case, it would send a SIP instant message containing an HTTP link to the user so that it can access it at a later time [2]. The proxy/registrar makes this decision based on the capabilities of the terminating user agent. The cchandra Expires: April 2004 [Page 3] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 user agent would provide its capabilities to the SIP proxy/registrar in a REGISTER message following the process described in [10]. For example, consider a SIP proxy/registrar receiving a SIP instant message with the content-length parameter set to 80KB (basically the message size is 80KB). The proxy determines that the recipient's terminal can support a message not exceeding a max-length of 50KB (it gets this information in the registration message), it can store the message and send a SIP instant message with the associated HTTP link to the recipient terminal containing also information about the stored message size. The recipient can later access the message on the server from a terminal which can support the message (for example a PC). 3.2.2 Routing of Messages based on UA capabilities (Multiple Registrations) Another useful use case is when multiple user agents (different devices) are registered for the same user. For example a user might have a mobile phone, a PDA, a laptop, and a personal computer. It registers its different devices with the SIP proxy/registrar. Each registration request carries its user agent capabilities (terminal capabilities). When a sender sends a message (SIP IM), the caller can specify its preferences [4]. The caller can specify in its header fields (Accept- Contact or Reject-Contact), feature parameters that should be supported by the terminating UA. These caller preferences helps proxy make a particular routing choice if multiple terminating UA are registered. For example, if a user sends a message which contains a JPEG image, it can specify in its preferences, the minimum resolution that should be supported by the terminating user for receiving that JPEG image. The proxy can compare the maximum resolution (media-pix-x and media- pix-y feature tags) of all the terminating UAs and can decide which UA supports the resolution required by the originating user. Thus the proxy can route the message to that particular UA. 4. Description of the proposed media feature tags We present in this section how the proposed descriptors are used in the context of "Indicating User Agent Capabilities in SIP" [10] and [7]. 4.1 Maximum Size Of Message Body (max-length) The limit on the message size for a terminal is represented as follows [7]: cchandra Expires: April 2004 [Page 4] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 ( & (encoding="identity") (max-length<=32768) ) This specifies that the maximum message body size can't exceed 32KB. This would include the total size of all the body parts of the message without headers. Thus a terminal should reserve some memory for the headers since their length can't be known and depend on the message transmission (e.g. adding route in SIP). The terminal message size limit requires the registration of two media feature tags: encoding and length. The encoding media feature tag corresponds to the Accept-Encoding header of SIP messages. Since some MIME types may also be limited in size, a length parameter can be associated with a media type as follows: ( & (type="image/jpeg") (max-length<=32768) );q=0.8 This specifies that jpeg images can't exceed 32KB. Note that the "type" media feature tag is already registered. 4.2 Maximum resolution (media-pix-x and media-pix-y) Two proposed media tags called "media-pix-x" and "media-pix-y" provide information about the maximum (or minimum) horizontal and vertical resolution supported by the terminal for visual media. It could apply to a specific MIME type or for a whole media category (e.g. images). For instance: (| (& (type="image/jpeg")(media-pix-x<=640)(media-pix-y<=480));q=0.9 (& (type="image/gif") (media-pix-x<=160)(media-pix-y<=120));q=1)) is used to specify that the terminal can support JPEG images no larger than 640x480 and GIF no larger than 160x120. On the other hand: (& (type="image/*")(media-pix-x<=640)(media-pix-y<=480));q=0.7 means that all images are acceptable as long as they don't exceed 640x480 pixels. However in typical mobile terminals, it is more likely that the supported image formats and their specific characteristic restrictions will be listed explicitly. Note that pix-x and pix-y are registered media tags representing display resolution [9]. "media-pix-x" and "media-pix-y" complement them by presenting the maximum resolution handled for different media types. Different quality values represent different capability preferences similarly to [6]. For instance, (|(& (type="image/gif")(media-pix-x<=640)(media-pix-y<=480));q=0.5 (& (type="image/gif") (media-pix-x<160)(media-pix-y<120));q=1)) means that GIF images of resolution smaller than 160x120 pixels are preferred but GIF images of resolution up to 640x480 are still cchandra Expires: April 2004 [Page 5] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 supported by the terminal. This preference may be expressed by a terminal having a small display resolution with low memory. This information can be mapped to SIP contact parameters as illustrated in [7]. For instance, the last example would map to: ;type="image/gif";q=0.5;media-pix-x<=640;media-pix-y<=480 ;type="image/gif";q=1;media-pix-x<160;media-pix-y<120 5. Examples In this section detailed examples of the SIP messages are given which use the above proposed media feature tags for the two use cases presented in section 3. The examples are for SIP instant messaging (SIP IM). Note that the example messages are incomplete and they do not show all headers. 5.1 Content Indirection In the following example user A registers its user agent capabilities in the REGISTER message with the SIP proxy/registrar. The user agent supports JPEG images of maximum size of 32KB and maximum resolution of 160x120. The REGISTER message would be as follows (in the context of [10]). REGISTER sip:home.net SIP/2.0 From: joe@home.net;tag=81413274 To: joe@home.net Contact: ;methods="OPTIONS,NOTIFY" Contact: ;methods="MESSAGE" ;type="image/jpeg";+max-length="#<=32768" ;+media-pix-x="#<=160";+media-pix-y="#<=120";image="TRUE" User B sends a SIP instant message to user A. The message contains a JPEG image. The size of the message is 48KB. The message request would be as follows. MESSAGE sip:joe@home.net SIP/2.0 Via: SIP/2.0/TCP johnpc.net ;branch=z9hBK4776sgdkse Max-Forwards: 70 From: sip:john@home.net;tag=49583 To: sip:joe@home.net Call-Id: asd88bcd77a@1.2.3.4 Cseq: 1 MESSAGE Content-Type: image/jpeg Content-length : 49152 ... cchandra Expires: April 2004 [Page 6] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 Upon receiving the message request the SIP proxy compares the characteristics of the incoming message (like length of the message) with the terminating user agent capabilities. In the above example, the proxy determines that the terminating user agent cannot support a JPEG image of size more than 32KB. The proxy stores the message and sends a SIP instant message to the receiving user a URL where it can access the message. The URL is defined in the content-type header [3]. Note in the above example in the incoming message caller preferences are not specified. The SIP proxy makes the decision based on the registered user agent capabilities. The example presented in this section would require modification to the behavior of proxy if caller preferences are not specified in the incoming message. In this case, because the caller preferences are not specified in the incoming message, the proxy needs to understand the semantics of each feature parameter specified in the callee capabilities. This could be easily done through scripting. This example is clearly going beyond Caller Preferences document [4] but shows potentially useful usage of the new feature tags. The next example is more in line with Caller Preferences usage. 5.2 Routing of Messages for Multiple Registrations A nice feature of SIP is to allow a user to have different devices for the same address. For example a user might use a cell phone which support JPEG images of maximum resolution 640x480 and PDA which support JPEG images of 160x120. The two registration messages would be as follows. REGISTER sip:home.net SIP/2.0 From: joe@home.net;tag=81413274 To: joe@home.net Contact: ;methods="OPTIONS,NOTIFY" Contact: ;methods="MESSAGE" ;type="image/jpeg";+max-length="#<=49152" ;+media-pix-x="#<=640";+media-pix-y="#<=480";image="TRUE" The above registration registers a user agent (UA1) which supports the message method with type image. It supports JPEG images with the maximum resolution of 640x480 no larger than 48KB. REGISTER sip:home.net SIP/2.0 From: joe@home.net;tag=81413275 To: joe@home.net Contact: ;expires=3600;methods="OPTIONS,NOTIFY" Contact: ;expires=3600;methods="MESSAGE" ;type="image/jpeg";+max-length="#<=30720" ;+media-pix-x="#<=160";+media-pix-y="#<=120" cchandra Expires: April 2004 [Page 7] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 The above registration message registers the same user with a different user agent (UA2) supporting JPEG images of resolution up to 160x120 no larger than 32KB. When a sender sends a message to this user it can include in its header its preferences [4]. These header fields (like Accept-contact, Reject contact) contains feature sets represented by the same feature parameters that are used to indicate capabilities. These feature parameters represent the callers preferences. The Accept-Contact header field contains feature sets that describes UAs that the caller would like to reach and the Reject-contact header field contains feature sets that describe UAs that the caller would not like to reach. For example, the sender wants to send a JPEG image to a terminating user agent capable of displaying a JPEG image of size 40KB with a resolution of 640x480. In that case the proxy chooses the user agent UA1 since it supports JPEG images of that size and resolution and routes the message. UA2 can't be selected because it doesn't support the resolution nor the size. The incoming message request would be as follows. MESSAGE sip:joe@home.net SIP/2.0 Via: SIP/2.0/TCP johnpc.net;branch=z9hBK4776sgdkse Max-Forwards: 70 From: sip:john@home.net;tag=49583 To: sip:joe@home.net Call-Id: asd88bcd77a@1.2.3.4 Cseq: 1 MESSAGE Content-Type: image/jpeg Content-length: 24576 Accept-Contact: * ;type="image/jpeg";image="TRUE" ;+media-pix-x="#=640";+media-pix-y="#=480" 6. Security consideration The security consideration are same as [10]. 7. IANA considerations The media feature tags proposed in this document should be registered with IANA following the procedures of [8]. 7.1 max-length Media feature tag: max-length ASN.1 Identifier: New assignment by IANA. cchandra Expires: April 2004 [Page 8] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 Summary of the media feature indicated by this tag: This feature tag indicates the max-length of the SIP message body supported by the user agent (device). Values appropriate for use with this feature tag : Integer with comparison operations. The feature tag is intended primarily for use in the following applications, protocols, services, or negotiation mechanisms: This feature tag is most useful in a communications application, for describing the capabilities of a device, such as a phone or PDA. Examples of typical use: Routing a message to a user agent that can support the size of the incoming SIP message body. Related standards or documents: RFC XXXX [[Note to IANA: Please replace XXXX with the RFC number of this specification.]] 7.2 media-pix-x Media feature tag: media-pix-x ASN.1 Identifier: New assignment by IANA. Summary of the media feature indicated by this tag: This feature tag indicates the maximum (or minimum) horizontal resolution of visual media (e.g. image or video) supported by a phone or a PDA. It could apply to all images or video or to specific MIME types. Values appropriate for use with this feature tag : Integer with comparison operations. The feature tag is intended primarily for use in the following applications, protocols, services, or negotiation mechanisms: This feature tag is most useful in a communications application, for describing the capabilities of a device, such as a phone or PDA. Examples of typical use: Routing a message to a user agent that can support the visual resolution of incoming SIP message's visual media content( image or video). Related standards or documents: RFC XXXX [[Note to IANA: Please replace XXXX with the RFC number of this specification.]] 7.3 media-pix-y Media feature tag: media-pix-y ASN.1 Identifier: New assignment by IANA. cchandra Expires: April 2004 [Page 9] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 Summary of the media feature indicated by this tag: This feature tag indicates the maximum (or minimum) vertical resolution of visual media (e.g. image or video) supported by a phone or a PDA. It could apply to all images or video or to specific MIME types. Values appropriate for use with this feature tag : Integer with comparison operations. The feature tag is intended primarily for use in the following applications, protocols, services, or negotiation mechanisms: This feature tag is most useful in a communications application, for describing the capabilities of a device, such as a phone or PDA. Examples of typical use: Routing a message to a user agent that can support the visual resolution of incoming SIP message's visual media content( image or video). Related standards or documents: RFC XXXX [[Note to IANA: Please replace XXXX with the RFC number of this specification.]] Intellectual Property Right Considerations On IPR related issues, Nokia refers to its statement on patent licensing. Please see http://www.ietf.org/ietf/IPR/NOKIA. References [1] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels," RFC 2119, March 1997. [2] S. Olson, "Requirements for Content Indirection in Session Initiation Protocol (SIP) Messages," Internet Draft draft-ietf- sipping-content-indirect-02, September 2002. [3] S. Olson, "A Mechanism for Content Indirection in Session Initiation Protocol (SIP) Messages," draft-ietf-sip-content- indirect-mech-02, February 2003. [4] H. Schulzrinne, J. Rosenberg, "Caller Preferences for the Session Initiation Protocol (SIP)," Internet Draft draft-ietf- sip-callerprefs-09.txt, July 2002. [5] J. Rosenberg, H. Schulzrinne, et al. , "SIP: Session initiation protocol," Internet Draft, Internet Engineering Task Force, Feb. 2002. Work in progress. [6] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1," RFC 2616, June 1999. cchandra Expires: April 2004 [Page 10] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 [7] G. Klyne, "A syntax for describing media feature sets," RFC 2533, Internet Engineering Task Force, Mar. 1999. [8] K. Holtman, A. Mutz, and T. Hardie, "Media Feature Tag Registration Procedure," BCP 31, RFC 2506, March 1999. [9] L. Masinter, K. Holtman, A. Mutz, and D. Wing, "Media Features for Display, Print, and Fax," RFC 2534, March 1999. [10] J. Rosenberg, H. Schulzrinne, P. Kyzivat, "Indicating User Agent Capabilities in SIP," Internet Draft draft-ietf-sip-callee-caps- 00, June 2003. Author's Address Stephane Coulombe Nokia Research Center 6000, Connection Drive, M2-700 Irving, Texas, 75063 USA E-mail: Stephane.Coulombe@nokia.com Umesh Chandra Nokia Research Center 6000, Connection Drive, M2-700 Irving, Texas, 75063 USA E-mail: Umesh.Chandra@nokia.com Pekka Pessi Nokia Research Center Itamerenkatu 11-13 00180 Helsinki Finland E-mail: Pekka.Pessi@nokia.com Expiration Date This memo is submitted as and expires in April 2004. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published cchandra Expires: April 2004 [Page 11] INTERNET-DRAFT draft-coulombe-media-tags-size-resolution-00 October 2003 and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. cchandra Expires: April 2004 [Page 12]