Internet DRAFT - draft-ram-straw-b2bua-feature-tag
draft-ram-straw-b2bua-feature-tag
STRAW R. Ravindranath
Internet-Draft T. Reddy
Intended status: Standards Track G. Salgueiro
Expires: January 7, 2016 Cisco
July 6, 2015
A Session Initiation Protocol (SIP) Feature Tag for Back-to-Back User
Agents (B2BUAs)
draft-ram-straw-b2bua-feature-tag-00
Abstract
The User Agent capabilities specification allows Session Initiation
Protocol (SIP) User Agents to convey their capabilities and
characteristics to other User Agents and to the registrar for its
domain. This information is conveyed as parameters of the Contact
header field. Amongst those capabilities are the type of User Agent
that is available at a SIP Uniform Resource Identifier (URI). This
document extends the User Agent capabilities specification to allow
indication of Back-to-Back User Agent (B2BUA) types.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on January 7, 2016.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Ravindranath, et al. Expires January 7, 2016 [Page 1]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Overview and Motivation . . . . . . . . . . . . . . . . . 2
1.2. Document Goals . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview of Operation . . . . . . . . . . . . . . . . . . . . 4
3.1. SIP Media Feature Tag for B2BUAs . . . . . . . . . . . . 4
3.2. Example Usage of SIP Media Feature Tag for B2BUAs . . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Normative References . . . . . . . . . . . . . . . . . . 7
7.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
1.1. Overview and Motivation
In current Session Initiation Protocol (SIP)[RFC3261] deployments,
there are numerous forms of Back-to-Back User Agents (B2BUAs),
operating at various levels of transparency and for many differing
purposes, and with widely varying behaviors. Some act as pure SIP
proxies and only change to the role of B2BUA in order to generate
BYEs to terminate dead sessions. Some are full User Agent (UA)
stacks with only high-level event and application logic binding the
User Agent Server (UAS) and User Agent Client (UAC) sides. Some
B2BUAs operate only in the SIP signaling plane, while others
participate in the media plane as well. [RFC7092] provides a
taxonomy of several common B2BUA roles.
As more SIP domains are deployed and interconnected, the probability
of a single SIP session crossing multiple B2BUAs at both the
signaling and media planes increases significantly. B2BUAs, as
described in [RFC7092], modify SIP and Session Description Protocol
(SDP) [RFC4566] bodies and are also likely to be on the media path.
Such entities, when present in the signaling and/or media path, are
likely to take several actions of varying intrusiveness. For
example, some B2BUAs modify parts of the SDP body (like IP address,
port) and subsequently modify the Real-time Transport Protocol (RTP)
Ravindranath, et al. Expires January 7, 2016 [Page 2]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
[RFC3550] headers as well. Given that a B2BUA can perform such a
wide variety of operations, a SIP UA originating a call may wish to
know that it is communicating with a B2BUA. The B2BUA type can be
used by a SIP UA to selectively disable identity validation
procedure. For B2BUAs functioning in the media termination mode or
media aware mode modifying the RTP/RTCP headers, the UA can disable
peer identity validation procedure.
There are specifications like [RFC3840] that allow a SIP User Agent
to convey its capabilities and characteristics to other User Agents
and to the registrar for its domain. This information is conveyed as
parameters in the Contact header field. Amongst those capabilities
is the type of UA that is available at a SIP URI. For example,
[RFC3840] has the isFocus indicator that is used in SIP signaling for
conference servers, a special case of B2BUA. There are also other
specifications that allow a B2BUA to indicate its capabilities, such
as in Session Recording Protocol [I-D.ietf-siprec-protocol].
However, there may be more types of B2BUAs, as defined in [RFC7092].
Prior to this document there is no support for allowing a UA to
indicate its type as a B2BUA. This document extends the User Agent
capabilities specification, defined in [RFC3840], to allow a UA to
indicate that it is a B2BUA as well as identify the specific type of
B2BUA.
1.2. Document Goals
The goal of this document is not to ensure end-to-end security of SIP
calls. The intent of this memo is, if a middlebox (like a B2BUA)
declares its existence, then that transparency is likely to improve
communication and operation overall. At a minimum, this will provide
indication to the caller and callee that it is talking to a B2BUA,
which can then decide on what to do with that information.
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 [RFC2119].
The following generalized terms are defined in [RFC3261], Section 6.
B2BUA: a SIP Back-to-Back User Agent, which is the logical
combination of a User Agent Server (UAS) and User Agent Client
(UAC).
UAS: a SIP User Agent Server.
UAC: a SIP User Agent Client.
Ravindranath, et al. Expires January 7, 2016 [Page 3]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
All of the pertinent B2BUA terminology and taxonomy used in this
document is based on [RFC7092].
It is assumed the reader is already familiar with the SIP User Agent
capabilities specification defined in [RFC3840].
3. Overview of Operation
3.1. SIP Media Feature Tag for B2BUAs
This section describes how a B2BUA, as defined in [RFC7092], can
convey its capabilities and characteristics to other User Agents and
to the registrar for its domain by leveraging and extending the
semantics of [RFC3840].
A B2BUA is essentially comprised of two UAs, one acting as a UAC and
other a UAS. So, each side of a B2BUA, when it registers, can
indicate a subset of capabilities in a REGISTER message, as described
in [RFC3840], or in response to an OPTION message or in-dialog
messages. Along with those capabilities, the B2BUA MUST also
indicate its B2BUA type. This type will be indicated in a REGISTER
message to the registrar in the B2BUA domain. It can also be
indicated in response to an OPTION message. The B2BUA MUST also
indicate the type as part of in-dialog messaging (INVITE, UPDATE,
etc.).
The syntax of the B2BUA type MUST follow the [RFC3840] syntax, which
requires all new feature tags to have "+" followed by "sip.tag_name".
The Contact header of SIP messages from the B2BUA MUST have this new
feature tag. The tag MUST contain one or more of the below values:
sip.isSignalingB2BUA - This feature tag will be used by B2BUAs who
act only on the signaling plane (SIP and/or SDP modifying only),
as defined in Section 3.1 of [RFC7092].
sip.isMediaRelayB2BUA - This feature tag will be used by B2BUAs
who act on the media plane as a media unaware relay, as defined in
Section 3.2.1 of [RFC7092].
sip.isMediaAwareRelayB2BUA - This feature tag will be used by
B2BUAs who act on the media plane as a media aware relay, as
defined in Section 3.2.2 of [RFC7092].
sip.isMediaAwareHeaderModifyingB2BUA - This feature tag will be
used by B2BUAs who act on the media plane as a media aware relay,
as defined in Section 3.2.2 of [RFC7092] and will likely modify
the media headers.
Ravindranath, et al. Expires January 7, 2016 [Page 4]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
sip.isMediaTerminationB2BUA - This feature tag will be used by
B2BUAs who act on the media plane and terminate media, as defined
in section 3.2.3 of [RFC7092].
3.2. Example Usage of SIP Media Feature Tag for B2BUAs
Below is example REGISTER message with the Contact header showing
B2BUA type feature tag. In this example, the B2BUA registering is a
media aware relay B2BUA.
REGISTER sip:example.com SIP/2.0
From: sip:user@example.com;tag=asd98
To: sip:user@example.com
Call-ID: hh89as0d-asd88jkk@host.example.com
CSeq: 1 REGISTER
Max-Forwards: 70
Via: SIP/2.0/UDP host.example.com;branch=z9hG4bKnashds8
Contact: <sip:b2bua1@host.example.com>;audio;video;
methods="INVITE,BYE,OPTIONS,ACK,CANCEL";
+sip.isMediaAwareRelayB2BUA
Content-Length: 0
Note that in the above example the B2BUA, apart from indicating other
capabilities it has, also indicates that it is a B2BUA that acts as
media aware relay.
[[NEEDS WG DISCUSSION: Do we need a separate feature tag for each
B2BUA type? It is feasible to do so, however the issue is a B2BUA
may likely play multiple roles described in [RFC7092], depending upon
call scenario. For example, for one scenario the B2BUA may be simple
media relay, for some other scenario, the same B2BUA may play a media
aware relay. So its tricky to indicate one specific type. Perhaps
should such a B2BUA indicate multiple feature tags?]]
4. 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 [RFC3840], and those considerations apply here as well.
Applications that utilize this media feature tag MUST 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 MUST provide a mechanism for guaranteeing
Ravindranath, et al. Expires January 7, 2016 [Page 5]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
authenticity. If B2BUA advertises any type other than
sip.isMediaTerminationB2BUA and sip.isMediaAwareHeaderModification
and the identity validation procedure [I-D.ietf-stir-rfc4474bis] by
the UA fails then it is an indication that the B2BUA or devices on
the other side are misbehaving or have malicious intents.
5. IANA Considerations
This section registers new media feature tags in the SIP tree,
defined in Section 12.1 of [RFC3840]. The following feature tags are
defined by this specification.
Media feature tag name: sip.isSignalingB2BUA.
Summary of the media feature indicated by this tag: This feature
tag will be used by B2BUAs who act only on the signaling plane
(SIP and/or SDP modifying only), as defined in Section 3.1 of
[RFC7092].
Media feature tag name: sip.isMediaRelayB2BUA .
Summary of the media feature indicated by this tag: This feature
tag will be used by B2BUAs who act on the media plane as a media
unaware relay, as defined in Section 3.2.1 of [RFC7092].
Media feature tag name: sip.isMediaAwareRelayB2BUA.
Summary of the media feature indicated by this tag: This feature
tag will be used by B2BUAs who act on the media plane as a media
aware relay, as defined in Section 3.2.2 of [RFC7092].
Media feature tag name: sip.isMediaAwareHeaderModifyingB2BUA.
Summary of the media feature indicated by this tag: This feature
tag will be used by B2BUAs who act on the media plane as a media
aware relay, as defined in Section 3.2.2 of [RFC7092] and will
likely modify headers.
Media feature tag name: sip.isMediaTerminationB2BUA.
Summary of the media feature indicated by this tag: This feature
tag will be used by B2BUAs who act on the media plane and
terminate media, as defined in Section 3.2.3 of [RFC7092].
Values appropriate for use with all the above feature tags: Boolean.
Ravindranath, et al. Expires January 7, 2016 [Page 6]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
6. Acknowledgments
Special thanks to Stephen Farrel, whose IESG review (and subsequent
discussion) of [I-D.ietf-straw-b2bua-stun] led to the formulation of
this draft. Additionally, the authors would like to thanks all the
members of the STRAW WG for their comments and discussion that helped
improve this document.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat,
"Indicating User Agent Capabilities in the Session
Initiation Protocol (SIP)", RFC 3840, August 2004.
7.2. Informative References
[I-D.ietf-siprec-protocol]
Portman, L., Lum, H., Eckel, C., Johnston, A., and A.
Hutton, "Session Recording Protocol", draft-ietf-siprec-
protocol-17 (work in progress), July 2015.
[I-D.ietf-stir-rfc4474bis]
Peterson, J., Jennings, C., and E. Rescorla,
"Authenticated Identity Management in the Session
Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-03
(work in progress), March 2015.
[I-D.ietf-straw-b2bua-stun]
R, R., Reddy, T., and G. Salgueiro, "Session Traversal
Utilities for NAT (STUN) Message Handling for Session
Initiation Protocol (SIP) Back-to-Back User Agents
(B2BUAs)", draft-ietf-straw-b2bua-stun-08 (work in
progress), May 2015.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
Ravindranath, et al. Expires January 7, 2016 [Page 7]
Internet-Draft A SIP Media Feature Tag for B2BUAs July 2015
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC7092] Kaplan, H. and V. Pascual, "A Taxonomy of Session
Initiation Protocol (SIP) Back-to-Back User Agents", RFC
7092, December 2013.
Authors' Addresses
Ram Mohan Ravindranath
Cisco
Cessna Business Park
Sarjapur-Marathahalli Outer Ring Road
Bangalore, Karnataka 560103
India
Email: rmohanr@cisco.com
Tirumaleswar Reddy
Cisco
Cessna Business Park, Varthur Hobli
Sarjapur Marathalli Outer Ring Road
Bangalore, Karnataka 560103
India
Email: tireddy@cisco.com
Gonzalo Salgueiro
Cisco Systems, Inc.
7200-12 Kit Creek Road
Research Triangle Park, NC 27709
US
Email: gsalguei@cisco.com
Ravindranath, et al. Expires January 7, 2016 [Page 8]