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]