Internet DRAFT - draft-coulombe-media-tags-size-resolution

draft-coulombe-media-tags-size-resolution



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: <sip:10.12.10.1> ;methods="OPTIONS,NOTIFY"
     Contact: <sip:10.12.10.1> ;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: <sip:10.12.10.1>;methods="OPTIONS,NOTIFY"
     Contact: <sip:10.12.10.1>;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: <sip:10.12.10.2> ;expires=3600;methods="OPTIONS,NOTIFY"
     Contact: <sip:10.12.10.2> ;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
   <draft-coulombe-media-tags-size-resolution-00> 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]