Internet Engineering Task Force (IETF) J. Rosenberg Request for Comments: 5688 Skype Category: Standards Track January 2010 ISSN: 2070-1721A Session Initiation Protocol (SIP) Media Feature Tag for MIME Application Subtypes
Rosenberg Standards Track [Page 1]
RFC 5688 Application Subtype Tag January 2010
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.
1. Introduction
The caller preferences specification [RFC3841] for the Session Initiation Protocol (SIP) [RFC3261] allows a user to express preferences for the routing of SIP requests. These preferences are expressed as a set of desired capabilities and characteristics of a receiving agent. When a user agent registers to the SIP network, it includes, as part of its registration, its own capabilities and characteristics [RFC3840]. These capabilities are stored as part of the registration, and then made available to the proxy in the network. When a request arrives at the proxy with caller preferences, the preferences in the request are compared with the supported characteristics and capabilities stored in the registrations, and the result is used to select the target user agents for the request.
Rosenberg Standards Track [Page 2]
RFC 5688 Application Subtype Tag January 2010
RFC 3840 also defines media feature tags for multimedia stream types. There is a media feature tag defined for each top-level media type -- sip.audio for audio streams, sip.video for video streams, and so on. The primary use case for this is to correctly deliver multimedia sessions to the user agent that supports that media type. Consider a caller on a videophone that wants to have a video call with another user. That user has two devices -- a mobile phone that only supports audio and a videophone. We'd like to deliver the videophone call to the videophone as a first priority, and only 'ring' the mobile device for an audio-only call if the user is not present on the videophone.
2. 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 [RFC2119].
3. sip.app-subtype Media Feature Tag
The 'sip.app-subtype' media feature tag is of type token with a case- insensitive equality relationship. Its value can be any registered or private MIME application subtype compliant to the subtype-name grammar defined in [RFC4288]. When included in the Contact header field of a REGISTER request, an agent SHOULD include all application subtypes that it can support as streaming formats. An application subtype is supported if the user agent would be capable of processing a Session Description Protocol (SDP) [RFC4566] offer [RFC3264] that contained that subtype as a format in the m-line of the SDP.
Rosenberg Standards Track [Page 3]
RFC 5688 Application Subtype Tag January 2010
When included in the Accept-Contact or Reject-Contact header field, it indicates a desire on the part of a User Agent Client (UAC) to be connected to a User Agent Server (UAS) that can support or cannot support, respectively, streaming using that application subtype.
4. Example
The following is an example SIP REGISTER message fragment indicating usage of this media feature tag. The REGISTER indicates that the UA can participate in application media sessions utilizing exchange of objects of type "application/example". REGISTER sip:example.com SIP/2.0 To: sip:Y@example.com Contact: <sip:Y1@pc.example.com> ;methods="INVITE,ACK,OPTIONS,BYE,CANCEL" ;uri-user="<Y1>" ;uri-domain="example.com" ;audio ;schemes="sip" ;mobility="fixed" ;class="personal" ;+sip.app-subtype="example"
Rosenberg Standards Track [Page 4]
RFC 5688 Application Subtype Tag January 2010
Such a registration indicates that an INVITE of the following form:
5. Security Considerations
When present in a REGISTER request, this media feature tag gives information on the set of supported application media streams. It is possible that this information is sensitive, providing insight into the capabilities of a product. These considerations are already discussed in RFC 3840, and those considerations apply here as well. Applications that utilize this media feature tag SHOULD provide a means for ensuring its integrity. Similarly, the media feature tag should only be trusted as valid when it comes from the user or user agent described by the feature tag. As a result, mechanisms for conveying the feature tag SHOULD provide a mechanism for guaranteeing authenticity.
6. IANA Considerations
This specification adds a new media feature tag to the SIP Media Feature Tag Registration Tree defined in RFC 3840 [RFC3840]. Media feature tag name: sip.app-subtype
Rosenberg Standards Track [Page 5]
RFC 5688 Application Subtype Tag January 2010
ASN.1 Identifier: 1.3.6.1.8.4.247. References 7.1. Normative References[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Rosenberg Standards Track [Page 6]
RFC 5688 Application Subtype Tag January 2010 7.2. Informative References[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,