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]