[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: (draft-garcia-mmusic-sdp-cs) 00 01 02 03 04 05 06 07 08 09 10 11 RFC 7195

MMUSIC WG                                               M. Garcia-Martin
Internet-Draft                                                  Ericsson
Intended status: Standards Track                         S. Veikkolainen
Expires: December 19, 2009                                         Nokia
                                                           June 17, 2009


Session Description Protocol (SDP) Extension For Setting Up Audio Media
 Streams Over Circuit-Switched Bearers In The Public Switched Telephone
                             Network (PSTN)
                      draft-ietf-mmusic-sdp-cs-01

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   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/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on December 19, 2009.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.






Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 1]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


Abstract

   This memo describes use cases, requirements, and protocol extensions
   for using the Session Description Protocol (SDP) Offer/Answer model
   for establishing audio media stream over circuit-switched bearers in
   the Public Switched Telephone Network (PSTN).


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Conventions Used in This Document  . . . . . . . . . . . . . .  5
   3.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Overview of Operation  . . . . . . . . . . . . . . . . . . . .  6
     4.1.  Example Call Flow  . . . . . . . . . . . . . . . . . . . .  6
   5.  Protocol Description . . . . . . . . . . . . . . . . . . . . .  8
     5.1.  Level of Compliance  . . . . . . . . . . . . . . . . . . .  8
     5.2.  Extensions to SDP  . . . . . . . . . . . . . . . . . . . .  8
       5.2.1.  Connection Data  . . . . . . . . . . . . . . . . . . .  8
       5.2.2.  Media Descriptions . . . . . . . . . . . . . . . . . .  9
       5.2.3.  Correlating the PSTN Circuit-Switched Bearer with
               SDP  . . . . . . . . . . . . . . . . . . . . . . . . . 10
         5.2.3.1.  The "correlation" attribute  . . . . . . . . . . . 11
         5.2.3.2.  Caller-ID Correlation Mechanism  . . . . . . . . . 11
         5.2.3.3.  User-User Information Element Correlation
                   Mechanism  . . . . . . . . . . . . . . . . . . . . 12
         5.2.3.4.  DTMF Correlation Mechanism . . . . . . . . . . . . 13
         5.2.3.5.  Negotiating the used correlation mechanisms  . . . 15
     5.3.  Considerations for Usage of Existing SDP . . . . . . . . . 17
       5.3.1.  Originator of the Session  . . . . . . . . . . . . . . 17
       5.3.2.  Contact information  . . . . . . . . . . . . . . . . . 17
       5.3.3.  Determining the Direction of the Circuit-Switched
               Connection Setup . . . . . . . . . . . . . . . . . . . 17
     5.4.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . 18
   6.  SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . . 19
     6.1.  Basic SDP example: Single Circuit-Switched Audio Stream  . 19
     6.2.  Advanced SDP example: Alternative and IP
           Circuit-Switched Audio Streams . . . . . . . . . . . . . . 20
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
     7.1.  Registration of new correlation SDP attribute  . . . . . . 22
     7.2.  Registration of a new "nettype" value  . . . . . . . . . . 22
     7.3.  Registration of new "addrtype" values  . . . . . . . . . . 22
     7.4.  Registration of a new "proto" value  . . . . . . . . . . . 22
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 23
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 23
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 23
     10.2. Informative References . . . . . . . . . . . . . . . . . . 24



Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 2]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25


















































Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 3]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


1.  Introduction

   The Session Description Protocol (SDP) [RFC4566] is intended for
   describing multimedia sessions for the purposes of session
   announcement, session invitation, and other forms of multimedia
   session initiation.  SDP is most commonly used for describing media
   streams that are transported over the Real-Time Transport Protocol
   (RTP) [RFC3550], using the profiles for audio and video media defined
   in RTP Profile for Audio and Video Conferences with Minimal Control
   [RFC3551].

   However, SDP can be used to describe other transport protocols than
   RTP.  Previous work includes SDP conventions for describing ATM
   bearer connections [RFC3108] and the Message Session Relay Protocol
   [RFC4975].

   SDP is commonly carried in Session Initiation Protocol (SIP)
   [RFC3261] messages in order to agree on a common media description
   among the endpoints.  An Offer/Answer Model with Session Description
   Protocol (SDP) [RFC3264] defines a framework by which two endpoints
   can exchange SDP media descriptions and come to an agreement as to
   which media streams should be used, along with the media related
   parameters.

   In some scenarios it might be desirable to establish the media stream
   over a circuit-switched bearer connection even if the signaling for
   the session is carried over an IP bearer.  An example of such a
   scenario is illustrated with two mobile devices capable of both
   circuit-switched and packet-switched communication over a low-
   bandwidth radio bearer.  The radio bearer may not be suitable for
   carrying real-time audio media, and using a circuit-switched bearer
   would offer, however, a better perceived quality of service.  So,
   according to this scenario, SDP and its higher layer session control
   protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are
   used over regular IP connectivity, while the audio is received
   through the classical circuit-switched bearer.

   Setting up a signaling relationship in the IP domain instead of just
   setting up a circuit-switched call offers also the possibility of
   negotiating in the same session other IP based media that is not
   sensitive to jitter and delay, for example, text messaging or
   presence information.

   At a later point in time the mobile device might move to an area
   where a high-bandwidth packet-switched bearer, for example a Wireless
   Local Area Network (WLAN) connection, is available.  At this point
   the mobile device may perform a handover and move the audio media
   streams over to the high-speed bearer.  This implies a new exchange



Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 4]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   of SDP offer/answer that lead to a re-negotiation of the media
   streams.

   Other use cases exists.  For example, and endpoint might have at its
   disposal circuit-switch and packet-switched connectivity, but the
   audio codecs are not the same in both access networks.  Consider that
   the circuit-switched audio stream supports narrow-bandwidth codecs,
   while the packet-switched access allows any other audio codec
   implemented in the endpoint.  In this case, it might be beneficial
   for the endpoint to describe different codecs for each access type
   and get an agreement on the bearer together with the remote endpoint.

   There are additional use cases related to third party call control
   where the session setup time is improved when the circuit-switched
   bearer in the PSTN is described together with one or more codecs.

   The rest of the document is structured as follows: Section 2 provides
   the document conventions, Section 3 introduces the requirements,
   Section 4 presents an overview of the proposed solutions, and
   Section 5 contains the protocol description.  Section 6 provides a
   few examples of descriptions of circuit-switched audio streams in
   SDP.  Section 7 and Section 8 contain the IANA and Security
   considerations, respectively.


2.  Conventions Used in This Document

   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 BCP 14, RFC 2119
   [RFC2119] and indicate requirement levels for compliant
   implementations.


3.  Requirements

   This section presents the general requirements that are specific for
   the audio media stream over circuit-switched bearers.

   REQ-1:  A mechanism for endpoints to negotiate and agree on an audio
           media stream established over a circuit-switched bearer MUST
           be available.

   REQ-2:  The mechanism MUST allow the endpoints to combine circuit-
           switched audio media streams with other complementary media
           streams, for example, text messaging.





Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 5]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   REQ-3:  The mechanism MUST allow the endpoint to negotiate the
           direction of the circuit-switched connection, i.e., which
           endpoint is active when initiating the circuit-switched
           connection.

   REQ-4:  The mechanism MUST be independent of the type of the circuit-
           switched access (e.g., Integrated Services Digital Network
           (ISDN), Global System for Mobile Communication (GSM), etc.)

   REQ-5:  There MUST be a mechanism that helps an endpoint to correlate
           an incoming circuit-switched bearer with the one negotiated
           in SDP, as opposed to another incoming call that is not
           related to that.

   REQ-6:  It must be possible for endpoints to advertise different list
           of audio codecs in the circuit-switched audio stream from
           those used in a packet-switched audio stream.

   REQ-7:  It must be possible for endpoints to not advertise the list
           of available codecs for circuit-switched audio streams.


4.  Overview of Operation

   The mechanism defined in this memo extends SDP and allows describing
   an audio media stream established over a circuit-switched bearer.
   New tokens are registered in the "c=" and "m=" lines to be able to
   describe an audio media stream over a circuit-switched bearer.  These
   SDP extensions are described in Section 5.2.  Since circuit-switched
   bearers are a sort of connection-oriented media streams, the
   mechanism re-uses the connection-oriented extensions defined in RFC
   4145 [RFC4145] to negotiate the active and passive sides of a
   connection setup.  This is further described in Section 5.3.3.

4.1.  Example Call Flow

   Consider the example presented in Figure 1.  In this example, Alice
   is located in an environment where she has access to both IP and
   circuit-switched bearers for communicating with other endpoints.
   Alice decides that the circuit-switched bearer offers a better
   perceived quality of service for voice, and issues an SDP Offer
   containing the description of an audio media stream over circuit-
   switched bearer.








Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 6]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


                  Alice                                 Bob
                    | (1) SDP Offer (PSTN audio)         |
                    |----------------------------------->|
                    |                                    |
                    | (2) SDP Answer (PSTN audio)        |
                    |<-----------------------------------|
                    |                                    |
                    |   PSTN call setup                  |
                    |<-----------------------------------|
                    |                                    |
                    |                                    |
                    |<===== media over PSTN bearer =====>|
                    |                                    |

                          Figure 1: Example Flow

   Bob receives the SDP offer and determines that he is located in an
   environment where the IP based bearer is not suitable for real-time
   audio media.  However he also has PSTN circuit-switched bearer
   available for audio.  Bob generates an SDP answer containing a
   description of the audio media stream over a circuit-switched bearer.

   During the offer-answer exchange Alice and Bob also agree the
   direction in which the circuit-switched connection should be
   established.  The exchange also contains identifiers or references
   that can be used on the circuit-switched network for addressing the
   other endpoint, as well as identifying that the incoming circuit-
   switched bearer establishment is related to the ongoing session
   between Alice and Bob.

   Bob establishes a circuit-switched bearer towards Alice using
   whatever mechanisms are defined for the network type in question.
   When receiving the incoming circuit-switched connection attempt,
   Alice is able to determine that the attempt is related to the session
   she is just establishing with Bob.

   Alice accepts the circuit-switched connection; the circuit-switched
   bearer setup is completed.  Bob and Alice can now use the circuit-
   switched connection for two-way audio media.

   If, for some reason, Bob would like to reject the offered stream, he
   would set the port number of the specific stream to zero, as
   specified in RFC3264 [RFC3264].  Also, if Bob does not understand
   some of the SDP attributes specified in this document, he would
   ignore them, as specified in RFC4566 [RFC4566].






Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 7]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


5.  Protocol Description

5.1.  Level of Compliance

   Implementations according to this specification MUST implement the
   SDP extensions described in Section 5.2, and MUST implement the
   considerations discussed in Section 5.3.

5.2.  Extensions to SDP

   This section provides the syntax and semantics of the extensions
   required for providing a description of audio media streams over
   circuit-switched bearers in SDP.

5.2.1.  Connection Data

   According to SDP [RFC4566], the connection data line in SDP has the
   following syntax:

      c=<nettype> <addrtype> <connection-address>

   where <nettype> indicates the network type, <addrtype> indicates the
   address type, and the <connection-address> is the connection address,
   which is dependent on the address type.

   At the moment, the only network type defined is "IN", which indicates
   Internet network type.  The address types "IP4" and "IP6" indicate
   the type of IP addresses.

   This memo defines a new network type for describing a circuit-
   switched bearer network type in the PSTN.  The mnemonic "PSTN" is
   used for this network type.

   For the address type, we initially consider the possibility of
   describing E.164 telephone numbers.  We define a new "E164" address
   type.  When used, the "E164" address type indicates that the
   connection address contains a telephone number represented according
   to the ITU-T E.164 [ITU.E164.1991] recommendation.

   There are cases, though, when the endpoint is merely aware of a
   circuit-switched bearer, without having further information about the
   address type or the E.164 number allocated to it.  In these cases a
   dash "-" is used to indicate an unknown address type or connection
   address.  This makes the connection data line be according to the SDP
   syntax.






Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 8]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


      Note that <addrtype> and/or <connection-address> should not be
      omitted without being set to a "-" since this would violate basic
      syntax of SDP [RFC4566].

   The following are examples of the extension to the connection data
   line:

      c=PSTN E164 +15551234

      c=PSTN - -

5.2.2.  Media Descriptions

   According to SDP [RFC4566], the media descriptions line in SDP has
   the following syntax:

      m=<media> <port> <proto> <fmt> ...

   The <media> sub-field carries the media type.  Since this document
   deals with establishing an audio bearer, the existing "audio" media
   type is used.

   The <port> sub-field is the transport port to which the media stream
   is sent.  Circuit-switched access lacks the concept of a port number,
   and therefore the <port> sub-field is set to the discard port "9".

   According to RFC 3264 [RFC3264], a port number of zero in the offer
   of a unicast stream indicates that the stream is offered but must not
   be used.  If a port number of zero is present in the answer of a
   unicast stream, it indicates that the stream is rejected.  These
   rules are still valid when the media line in SDP represents a
   circuit-switched bearer.

   The <proto> sub-field is the transport protocol.  The circuit-
   switched bearer uses whatever transport protocol it has available.
   This subfield SHOULD be set to the mnemonic "PSTN" to be
   syntactically correct with SDP [RFC4566] and to indicate the usage of
   circuit-switched protocols in the PSTN.

   The <fmt> sub-field is the media format description.  In the
   classical usage of SDP to describe RTP-based media streams, when the
   <proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub-
   field contains the payload types as defined in the RTP audio profile
   [RFC3551].

   In the case of circuit-switched descriptions, RTP is not really used.
   Rather than specifying the RTP audio profile payload type, we use the
   <fmt> sub-field to indicate the list of available media types over



Garcia-Martin & Veikkolainen  Expires December 19, 2009         [Page 9]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   the circuit-switched bearer.  Therefore, the <fmt> sub-field MAY
   indicate one or more available audio codecs for a circuit-switched
   audio stream.  We use the classical RTP audio media types, even when
   applied to PSTN circuit-switched bearers, the media type merely
   represents an audio codec.

   However, in some cases, the endpoint is not able to determine the
   list of available codecs for circuit-switched audio streams.  In this
   case, in order to be syntactically compliant with SDP [RFC4566], the
   endpoint MUST include a single dash "-" in the <fmt> sub-field.

   As per RFC 4566 [RFC4566], the media format descriptions are listed
   in priority order.

   Example of a media description for circuit-switched audio streams is:

      m=audio 9 PSTN 3 0 8

      m=audio 9 PSTN -

5.2.3.  Correlating the PSTN Circuit-Switched Bearer with SDP

   The endpoints should be able to correlate the circuit-switched bearer
   with the session negotiated with SDP to avoid ringing for an incoming
   circuit-switched bearer that is related to the session controlled
   with SDP (and SIP).

   Several alternatives exist for performing this correlation.  This
   memo provides three mutually non-exclusive correlation mechanisms.
   Other correlation mechanisms might exist as well, and their usage
   will be specified when need arises.  All mechanisms share the same
   principles: some unique information is sent in the SDP and in the
   circuit-switched signaling protocol.  If these pieces of information
   match, then the circuit-switched bearer is part of the session
   described in the SDP exchange.  Otherwise, there is no guarantee that
   the circuit-switched bearer is related to such session.

   The first mechanism is based on the exchange of PSTN caller-ID
   between the endpoints.  The caller-ID is also available as the
   Calling Party ID in the circuit-switched signaling.

   The second mechanism is based on the inclusion in SDP of a value that
   is also sent in the User-to-User Information Element that is part of
   the bearer setup signaling in the PSTN.

   The third mechanism is based on sending in SDP a string that
   represents Dual Tone MultiFrequency (DTMF) digits that will be later
   sent right after the circuit-switched bearer is established.



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 10]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   Implementations MAY use any of these mechanisms and MAY use two or
   more mechanisms simultaneously.

5.2.3.1.  The "correlation" attribute

   In order to provide support for the correlation mechanisms, we define
   a new SDP attribute called "correlation".  This "correlation"
   attribute can include any of the "callerid", "uuie", or "dtmf"
   parameters, which specify additional information required by the
   Caller-ID, User to User Information, or DTMF correlation mechanisms,
   respectively.

   The following sections provide more detailed information of these
   parameters.  The "correlation" attribute has the following format:


   "a=correlation: "callerid:<callerid-value>" |
                    "uuie:<uuie-value>"        |
                    "dtmf:<dtmf-value>"

   The values "callerid", "uuie" and "dtmf" refer to the correlation
   mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and
   Section 5.2.3.4, respectively.  The formal Augmented Backus-Naur
   Format (ABNF) syntax of the "correlation" attribute is presented in
   Section 5.4.

5.2.3.2.  Caller-ID Correlation Mechanism

   The Caller-ID correlation mechanisms consists of an exchange of the
   calling party number in E.164 format in SDP, followed by the
   availability of the Calling Party Number information element in the
   call setup signaling of the circuit switched connection.  If both
   pieces of information match, the circuit-switched bearer is
   correlated to the session described in SDP.

   An endpoint that is feasible to become the active party for setting
   up the circuit-switched bearer and is willing to send the Calling
   Party Number in the PSTN signaling SHOULD add a "callerid" parameter
   in the "correlation" attribute of the SDP offer or answer, and SHOULD
   include as the value the E.164 number that will be presented in the
   Calling Party Number in the PSTN signaling.

   An endpoint that acts as the passive party for setting up the
   circuit-switch bearer SHOULD add a "callerid" parameter in the
   "correlation" attribute of the SDP if it supports the mechanism, and
   MAY include the E.164 number that will be presented in the circuit-
   switched bearer in the same corresponding lines, although these are
   not used for correlation.



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 11]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   Example of inclusion of E.164 number in the "correlation" attribute
   is:

      a=correlation:callerid:+15551234

   Please note that there are no warranties that this correlation
   mechanism works or is even available, due a number of problems:

   o  The endpoint might not be aware of its own E.164 number, in which
      case it cannot populate the SDP appropriately.

   o  The Calling Party Number information element in the circuit-
      switched signaling might not be available, e.g., due to policy
      restrictions of the network operator or caller restriction due to
      privacy.

   o  The Calling Party Number information element in the circuit-
      switched signaling might be available, but the digit
      representation of the E.164 number might differ from the one
      expressed in the SDP.  For example, one can be represented in
      international format and the other might only contain the
      significant national digits.  To mitigate this problem
      implementations should consider only some of the rightmost digits
      from the E.164 number for correlation.  For example, the numbers
      +358-1-555-12345 and 01-555-12345 could be considered as the same
      number.  This is also the behavior of some cellular phones, which
      correlate the incoming calling party with a number stored in the
      phone book, for the purpose of displaying the caller's name.

5.2.3.3.  User-User Information Element Correlation Mechanism

   A second correlation mechanism is based on indicating in SDP a string
   that represents the User-User Information Element that is part of the
   call setup signaling of the circuit-switched bearer.  The User-User
   Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and
   3GPP TS 24.008 [3GPP.24.008], among others.  The User-User
   Information Element has a maximum size of 35 or 131 octets, depending
   on the actual message of the PSTN protocol where it is included.

   The mechanism works as follows: An endpoint creates a User-User
   Information Element, according to the requirement of the call setup
   signaling protocol.  The same value is included in the SDP offer or
   SDP answer, in a correlation:uuie attribute.  When the SDP offer/
   answer exchange is completed, each endpoint has become aware of the
   value that will be used in the User-User Information Element of the
   call setup message of the PSTN protocol.  The endpoint that initiates
   the call setup attempt includes this value in the User-User
   Information Element.  The recipient of the call setup attempt can



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 12]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   extract the User-User Information Element and correlate it with the
   value previously received in the SDP.  If both values match, then the
   call setup attempt corresponds to that indicated in the SDP.

   Note that, for correlation purposes, the value of the User-User
   Information Element is considered as a opaque string and only used
   for correlation purposes.  Typically call signaling protocols impose
   requirements on the creation of User-User Information Element for
   end-user protocol exchange.  The details regarding the generation of
   the User-User Information Element are outside the scope of this
   specification.

   An endpoint that is feasible to become the active party for setting
   up the PSTN call and is willing to send the User-User Information
   Element in the PSTN signaling SHOULD add a "uuie" parameter in the
   "correlation" attribute of the SDP offer or answer.  This "uuie"
   parameter SHOULD include the value of the User-User Information
   Element that will be used in the call setup attempt.

   An endpoint that takes the role of the passive party for setting up
   the circuit-switched bearer SHOULD include include a "uuie" parameter
   in the "correlation" attribute in the SDP, if it supports the UUI
   mechanism.  It MAY also add a value for the "uuie" parameter although
   it is not used for correlation purposes.

   Please note that there are no warranties that this correlation
   mechanism works.  On one side, policy restrictions might not make the
   User-User information available end to end in the PSTN.  On the other
   hand, the generation of the User-User Information Element is
   controlled by the PSTN circuit-switched call protocol, which might
   not offer enough freedom for generating different values from one
   endpoint to another one, or from one call to another in the same
   endpoint.  This might result in the same value of the User-User
   Information Element for all calls.

5.2.3.4.  DTMF Correlation Mechanism

   We introduce a third mechanism for correlating the circuit-switched
   bearer with the session controlled with SDP.  This is based in
   agreeing on a sequence of digits that are negotiated in the SDP
   Offer/Answer exchange and sent as Dual Tone Multifrequency
   (DTMF)tones over the circuit-switched bearer once this bearer is
   established.  If the DTMF digit sequence received through the
   circuit-switched bearer matches the digit string negotiated in the
   SDP, the circuit-switched bearer is correlated with the session
   described in the SDP.  The mechanism is similar to many voice
   conferencing systems which require the user to enter a PIN code using
   DTMF tones in order to be accepted in a voice conference.



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 13]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   The mechanism works as follows: An endpoint selects a DTMF digit
   sequence.  The same sequence is included in the SDP offer or SDP
   answer, in a "correlation:dtmf" attribute.  When the SDP offer/answer
   exchange is completed, each endpoint has become aware of the DTMF
   sequence that will be sent right after the circuit-switched bearer is
   set up.  The endpoint that initiates the call setup attempt sends the
   DTMF digits as per the procedures defined for the circuit-switched
   bearer technology used.  The recipient (passive side of the bearer
   setup) of the call setup attempt collects the digits and correlates
   them with the value previously received in the SDP.  If the digits
   match, then the call setup attempt corresponds to that indicated in
   the SDP.

   An endpoint that is feasible to become the active party for setting
   up the PSTN call and is willing to send the DTMF digits after
   circuit-switched bearer cut-through SHOULD include a "dtmf" parameter
   in the "correlation" attribute of the SDP offer or answer.  The value
   of the "dtmf" parameter SHOULD contain up to 32 randomly selected
   DTMF digits (numbers 0-9, characters A-D, "#" and "*").

      Implementations are advised to select a number of DTMF digits that
      provide enough assurance that the call is related, but on the
      other hand do not prolong the bearer setup time unnecessarily.

   As an example, an endpoint willing to send DTMF tone sequence "14D*3"
   would include a "correlation" attribute line as follows:

      a=correlation:dtmf:14D*3

   An endpoint that takes the role of the passive party for setting up
   the circuit-switched bearer SHOULD include include a "dtmf" parameter
   in the "correlation" attribute in the SDP, if it supports the
   mechanism.  It MAY also add a value for the "dtmf" parameter although
   it is not used for correlation purposes.

   Once the circuit-switched bearer is successfully set up, the active
   side MUST send DTMF digits according to the circuit-switched bearer
   technology used.  The values and number of the DTMF digits MUST match
   those that were agreed during SDP negotiation.

   The passive side of the circuit-switched connection setup MUST be
   prepared to receive and collect DTMF digits once the circuit-switched
   bearer is set up.  The received DTMF digits are compared to the value
   of the "dtmf" parameter of the "correlation" attribute that the the
   active side sent during SDP offer/answer exchange.  If the received
   DTMF digits match the value of the "dtmf" parameter in the
   "correlation" attribute, the call SHOULD be treated as correlated to
   the ongoing session.



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 14]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   If the offerer and answerer successfully agree on the usage of the
   DTMF digit correlation mechanism, but the passive side does not
   receive any DTMF digits after successful circuit-switched bearer
   setup, or receives a set of DTMF digits that do not match the value
   of the "dtmf" attribute (including receving too many digits), the
   passive side SHOULD treat the circuit-switched bearer as not
   correlated to the ongoing session.

      DTMF digits can only be sent once the circuit-switched bearer is
      set up.  In order to suppress alerting for an incoming circuit-
      switched call, implementations may choose various mechanisms.  For
      example, alerting may be suppressed for a certain time period for
      incoming call attempts that originate from the number that was
      observed during the offer/answer negotiation.

5.2.3.5.  Negotiating the used correlation mechanisms

   The three correlation mechanisms presented above (based on called
   party number, User-User Information Element and DTMF digit sending)
   are non-exclusive, and can be used independently of each other.

   In order to agree which correlation mechanisms are supported by each
   endpoint, we define a negotiation mechanism similar to the one
   defined for codec negotiation.

   In some cases an endpoint may support the correlation mechanism, but
   it is not willing to become the active party in the circuit-switched
   bearer establishment.

   If the offerer supports any of the correlation mechanisms defined in
   this memo, it SHOULD include an attribute line "a=correlation" in the
   SDP offer.  The "a=correlation" line contains an enumeration of the
   correlation mechanisms supported by the offerer, in the format of
   parameters.  The current list of parameters include "callerid",
   "uuie" and "dtmf" and they refer to the correlation mechanisms
   defined in Section 5.2.3.2, Section 5.2.3.3, and Section 5.2.3.4,
   respectively.  For example, if an endpoint is willing to use the
   User-User Information element and DTMF digit sending mechanisms, it
   includes the following line to the SDP:

      a=correlation:uuie dtmf

   The answerer, when generating the answer, SHOULD select those
   correlation mechanisms it supports, and include an "a=correlation"
   attribute line in the answer containing those mechanisms it supports.
   The answerer MUST NOT add any mechanism which was not included in the
   offer.




Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 15]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   If the answer does not contain an "a=correlation" attribute line, the
   offerer MUST interpret this as an indication that the anwerer does
   not support any of the correlation mechanisms for this session.

   If, in addition to supporting any of the correlation mechanisms, an
   endpoint is willing to assume the role of the active party in
   establishing the circuit-switched bearer, it MUST add a parameter
   value to the supported mechanisms.  For example, if the endpoint
   supports and is willing to send the User-User Information element and
   DTMF digits, it includes the following line to the SDP offer:

      a=correlation:uuie:2890W284hAT452612908awudfjang908 dtmf:14D*3

   The answerer SHOULD select those correlation mechanisms it supports
   and is willing to use, and include respective parameter values.  If
   the answerer supports but is not willing to use some of the
   mechanisms (for example, due to not being able to become the active
   endpoint when setting up the circuit-switched bearer), it SHOULD
   include the respective parameter, but MUST NOT add a value to the
   parameter.

   Note that, as stated above, it cannot be guaranteed that any given
   correlation mechanism will succeed even if the usage of those was
   agreed beforehand.  This is due to the fact that the correlation
   mechanisms require support from the circuit-switched bearer
   technology used.

   Therefore, even a single positive indication using any of these
   mechanisms SHOULD be interpreted by the passive endpoint so that the
   circuit-switched bearer establishment is related to the ongoing
   session, even if the other correlation mechanisms fail.

   If, after negotiating one or more correlation mechanisms in the SDP
   offer/answer exchange, an endpoint receives a circuit-switched call
   with no correlation information present, the endpoint has two
   choices: it can either treat the call as unrelated, or treat the call
   as related to the ongoing session in the IP domain.

   An endpoint may for example specify a time window after SDP offer/
   answer exchange during which received calls are treated as correlated
   even if the signalling in the circuit-switched domain does not carry
   any correlation information.  In this case, there is a chance that
   the call is erroneously treated as related to the ongoing session.

   An endpoint may also choose to always treat an incoming call as
   unrelated if the signalling in the circuit-switched domain does not
   carry any correlation information.  In this case, there is a chance
   that the call is erroneously treated as unrelated.



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 16]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   Since, in these cases, no correlation information can be deduced from
   the signalling, it is up to the implementation to decide how to
   behave.  One option is also to let the user decide whether to accept
   the call as related, or to treat the call as unrelated.

5.3.  Considerations for Usage of Existing SDP

5.3.1.  Originator of the Session

   According to SDP [RFC4566], the origin line in SDP has the following
   syntax:

      o=<username> <sess-id> <sess-version> <nettype> <addrtype>
      <unicast-address>

   Of interest here are the <nettype> and <addrtype> fields, which
   indicate the type of network and type of address, respectively.
   Typically, this field carries the IP address of the originator of the
   session.  Even if the SDP was used to negotiate an audio media stream
   transported over a circuit-switched bearer, the originator is using
   SDP over an IP bearer.  Therefore, <nettype> and <addrtype> fields in
   the "o=" line should be populated with the IP address identifying the
   source of the signaling.

5.3.2.  Contact information

   SDP [RFC4566] defines the "p=" line which may include the phone
   number of the person reponsible for the conference.  Even though this
   line can carry a phone number, it is not suited for the purpose of
   defining a connection address for the media.  Therefore, we have
   selected to define the PSTN specific connection addresses in the "c="
   line.

5.3.3.  Determining the Direction of the Circuit-Switched Connection
        Setup

   Either endpoint can initiate the establishment of the circuit-
   switched bearer.  In order to avoid a situation where both endpoints
   attempt to initiate a connection simultaneously, the direction in
   which the circuit-switched bearer is set up should be negotiated
   during the Offer/Answer exchange.

   The framework defined in RFC 4145 [RFC4145] allows the endpoints to
   agree which endpoint acts as the active endpoint when initiating a
   TCP connection.  While RFC 4145 [RFC4145] was originally designed for
   establishing TCP connections, it is easily extrapolated to the
   connection establishment of circuit-switched bearers.  This
   specification uses the concepts specified in RFC 4145 [RFC4145] for



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 17]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   agreeing on the direction of establishment of a circuit-switched
   bearer.

   RFC 4145 [RFC4145] defines two new attributes in SDP: "setup" and
   "connection".  The "setup" attribute indicates which of the endpoints
   should initiate the connection establishment of the PSTN circuit-
   switched bearer.  Four values are defined in Section 4 of RFC 4145
   [RFC4145]: "active", "passive", "actpass", "holdconn".  Please refer
   to Section 4 of RFC 4145 [RFC4145] for a detailed description of this
   attribute.

   The "connection" attribute indicates whether a new connection is
   needed or an existing connection is reused.  The attribute can take
   the values "new" or "existing".  Please refer to Section 5 of RFC
   4145 [RFC4145] for a detailed description of this attribute.

   Implementations according to this specification MUST support the
   "setup" and "connection" attributes specified in RFC 4145 [RFC4145],
   but applied to circuit-switched bearers in the PSTN.

   In order to establish a circuit-switched connection in the PSTN, the
   initiating endpoint needs to know the address (E.164 number) of the
   other endpoint.  Therefore, if an endpoint wants to be able to
   receive incoming circuit-switched calls, it must know its E.164
   number and must indicate it in SDP.  As a consequence, an endpoint
   that is not aware of its own E.164 number cannot take the role of the
   passive side with respect the establishment of the circuit-switched
   connection.

5.4.  Formal Syntax

   The following is the formal Augmented Backus-Naur Form (ABNF)
   [RFC5234] syntax that supports the extensions defined in this
   specification.  The syntax is built above the SDP [RFC4566] grammar.
   Implementations according to this specification MUST be compliant
   with this syntax.

   Figure 2 shows the formal syntax of the extensions defined in this
   memo.












Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 18]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


           ; extension to the connection field originally specified
           ; in RFC 4566

           connection-field   =  [%x63 "=" nettype SP addrtype SP
           connection-address CRLF]
           ;nettype and addrtype are defined in RFC 4566

           connection-address /=  e164-address / "-"
           e164-address       =  ["+"] 1*15DIGIT
           ; DIGIT is specified in RFC 5234

           ;subrules for correlation attribute
           attribute          /= correlation-attr
           ; attribute defined in RFC 4566
           correlation-attr   = "correlation:" corr-mechanisms
           corr-mechanisms    = corr-mech *(SP corr-mech)
           corr-mech          = caller-id-mech / uuie-mech / dtmf-mech
           caller-id-mech     = "callerid" [":" caller-id-value]
           caller-id-value    = ["+"] 1*DIGIT
           uuie-mech          = "uuie" [":" uuie-value]
           uuie-value         = 1*32(ALPHA/DIGIT)
           dtmf-mech          = "dtmf" [":" dtmf-value]
           dtmf-value         = 1*32(DIGIT / %x41-44 / %x23 / %x2A )
           ;0-9, A-D, '#' and '*'

                  Figure 2: Syntax of the SDP extensions


6.  SDP Examples

6.1.  Basic SDP example: Single Circuit-Switched Audio Stream

                         Alice                               Bob
                         |                                  |
                         | (1) SDP Offer (PSTN audio)       |
                         |--------------------------------->|
                         |                                  |
                         | (2) SDP Answer (PSTN audio)      |
                         |<---------------------------------|
                         |                                  |
                         |   PSTN call setup                |
                         |<---------------------------------|
                         |                                  |
                         |<==== media over PSTN bearer ====>|
                         |                                  |

                           Figure 3: Basic flow




Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 19]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   Figure 3 shows a basic example that describes a single audio media
   stream over a circuit-switched bearer.  The SDP offer is show in
   Figure 4.  The endpoint describes a PSTN circuit-switched bearer in
   the "m=" and "c=" line where it also indicates its E.164 number.
   Additionally, it expresses that it can initiate the circuit-switched
   connection or be the recipient of it.  The SDP offer also includes a
   correlation identifier that this endpoint will be inserting the User-
   User Information Element of the PSTN call setup if eventually this
   endpoint initiates the PSTN call.

           v=0
           o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5
           s=
           t=0 0
           m=audio 9 PSTN -
           c=PSTN E164 +15551234
           a=setup:actpass
           a=connection:new
           a=correlation:uuie:2890W284hAT452612908awudfjang908

                          Figure 4: SDP offer (1)

6.2.  Advanced SDP example: Alternative and IP Circuit-Switched Audio
      Streams

                         Alice                               Bob
                         |                                  |
                         | (1) SDP Offer (IP and PSTN audio)|
                         |--------------------------------->|
                         |                                  |
                         | (2) SDP Answer (PSTN audio)      |
                         |<---------------------------------|
                         |                                  |
                         |   PSTN call setup                |
                         |<---------------------------------|
                         |                                  |
                         |<==== media over PSTN bearer ====>|
                         |                                  |

                        Figure 5: Alternative media

   Figure 5 shows an example of negotiating audio media streams over IP
   or circuit-switched bearers.  Using the mechanisms described in SDP
   Capability Negotiation Framework
   [I-D.ietf-mmusic-sdp-capability-negotiation] and extensions thereof
   (SDP media capabilities Negotiation
   [I-D.ietf-mmusic-sdp-media-capabilities] and SDP Miscellaneous
   Capabilities [I-D.garcia-mmusic-sdp-misc-cap]) it is possible to



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 20]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   construct an SDP offer where audio media can be offered alternatively
   over IP or circuit-switched bearer.

         v=0
         o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5
         s=
         t=0 0
         m=audio 49170 RTP/AVP 0 8 3
         c=IN IP4 192.0.2.5
         a=creq:med-v0,ccap-v0
         a=mcap:1 PCMU/8000/1
         a=mcap:2 PCMA/8000/1
         a=mcap:3 GSM/8000/1
         a=mcap:4 -
         a=tcap:1 RTP/AVP PSTN
         a=ccap:1 IN IP4 192.0.2.1
         a=ccap:2 PSTN E164 +15551234
         a=acap:1 correlation:uuie:2890W284hAT452612908awudfjang908
         a=acap:2 setup:actpass
         a=acap:3 connection:new
         a=pcfg:1 t=1 m=1,2,3 c=1
         a=pcfg:2 t=2 m=4 c=2 a=1,2,3

              Figure 6: SDP offer with alternative media (1)

   Upon receiving the SDP offer descibed in Figure 6, Bob decided to
   select the circuit-switched bearer and generates the answer described
   in Figure 7

         v=0
         o=- 2890973824 2890987289 IN IP4 192.0.2.7
         s=
         t=0 0
         m=audio - PSTN -
         c=PSTN - -
         a=acfg:2
         a=setup:active
         a=connection:new
         a=correlation:uuie:2890W284hAT452612908awudfjang908

           Figure 7: SDP answer with circuit-switched media (2)


7.  IANA Considerations

   This document instructs IANA to register a number of SDP tokens
   according to the following data.




Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 21]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


7.1.  Registration of new correlation SDP attribute

      Contact: Miguel Garcia <miguel.a.garcia@ericsson.com>

      Attribute name: correlation

      Long-form attribute name: PSTN Correlation Identifier

      Type of attribute: media level only

      This attribute is subject to the charset attribute

      Description: This attribute provides the Correlation Identifier
      used in PSTN signaling

      Specification: RFC XXXX

7.2.  Registration of a new "nettype" value

   This memo provides instructions to IANA to register a new "nettype"
   in the Session Description Protocol Parameters registry [1].  The
   registration data, according to RFC 4566 [RFC4566] follows.

   Type            SDP Name                     Reference
   ----            ------------------           ---------
   nettype         PSTN                         [RFCxxxx]

7.3.  Registration of new "addrtype" values

   This memo provides instructions to IANA to register a new "addrtype"
   in the Session Description Protocol Parameters registry [1].  The
   registration data, according to RFC 4566 [RFC4566] follows.

   Type            SDP Name                     Reference
   ----            ------------------           ---------
   addrtype        E164                         [RFCxxxx]
                   -                            [RFCxxxx]

7.4.  Registration of a new "proto" value

   This memo provides instructions to IANA to register a new "proto" in
   the Session Description Protocol Parameters registry [1].  The
   registration data, according to RFC 4566 [RFC4566] follows.

   Type            SDP Name                     Reference
   --------------  ---------------------------  ---------
   proto           PSTN                         [RFCxxxx]




Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 22]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


8.  Security Considerations

   This document provides an extension on top of RFC 4566 [RFC4566], and
   RFC 3264 [RFC3264].  As such, the security considerations of those
   documents apply.

   This memo provides mechanisms to agree on a correlation identifier or
   identifiers that are used to evaluate whether an incoming circuit-
   switched call is related to an ongoing session in the IP domain.  If
   an attacker replicates the correlation identifer and establishes a
   call within the time window the receiving endpoint is expecting a
   call, the attacker may be able to hijack the circuit-switched call.
   These types of attacks are not specific to the mechanisms presented
   in this memo.  For example, caller ID spoofing is a well known attack
   in the PSTN.  Users are advised to use the same caution before
   revealing sensitive information as they would on any other phone
   call.


9.  Acknowledgments

   The authors want to thank Flemming Andreasen, Thomas Belling, Jari
   Mutikainen, Miikka Poikselka, Jonathan Rosenberg, Ingemar Johansson,
   Christer Holmberg, and Alf Heidermark for providing their insight and
   comments on this document.


10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3108]  Kumar, R. and M. Mostafa, "Conventions for the use of the
              Session Description Protocol (SDP) for ATM Bearer
              Connections", RFC 3108, May 2001.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              June 2002.

   [RFC4145]  Yon, D. and G. Camarillo, "TCP-Based Media Transport in
              the Session Description Protocol (SDP)", RFC 4145,
              September 2005.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 23]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


   [RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234, January 2008.

10.2.  Informative References

   [3GPP.24.008]
              3GPP, "Mobile radio interface Layer 3 specification; Core
              network protocols; Stage 3", 3GPP TS 24.008 3.20.0,
              December 2005.

   [I-D.garcia-mmusic-sdp-misc-cap]
              Garcia, M., Veikkolainen, S., and R. Gilman,
              "Miscellaneous Capabilities Negotiation in the Session
              Description Protocol  (SDP)",
              draft-garcia-mmusic-sdp-misc-cap-00 (work in progress),
              October 2008.

   [I-D.ietf-mmusic-sdp-capability-negotiation]
              Andreasen, F., "SDP Capability Negotiation",
              draft-ietf-mmusic-sdp-capability-negotiation-10 (work in
              progress), May 2009.

   [I-D.ietf-mmusic-sdp-media-capabilities]
              Gilman, R., Even, R., and F. Andreasen, "SDP media
              capabilities Negotiation",
              draft-ietf-mmusic-sdp-media-capabilities-07 (work in
              progress), February 2009.

   [ITU.E164.1991]
              International Telecommunications Union, "The International
              Public Telecommunication Numbering Plan", ITU-
              T Recommendation E.164, 1991.

   [ITU.Q931.1998]
              "Digital Subscriber Signalling System No. 1 (DSS 1) - ISDN
              User - Network Interface Layer 3 Specification for Basic
              Call Control", ISO Standard 9594-1, May 1998.

   [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.

   [RFC3551]  Schulzrinne, H. and S. Casner, "RTP Profile for Audio and



Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 24]

Internet-Draft    PSTN Circuit-Switched Bearers in SDP         June 2009


              Video Conferences with Minimal Control", STD 65, RFC 3551,
              July 2003.

   [RFC4975]  Campbell, B., Mahy, R., and C. Jennings, "The Message
              Session Relay Protocol (MSRP)", RFC 4975, September 2007.

URIs

   [1]  <http://www.iana.org/assignments/sdp-parameters>


Authors' Addresses

   Miguel A. Garcia-Martin
   Ericsson
   Calle Via de los Poblados 13
   Madrid, ES  28033
   Spain

   Email: miguel.a.garcia@ericsson.com


   Simo Veikkolainen
   Nokia
   P.O. Box 407
   NOKIA GROUP, FI  00045
   Finland

   Phone: +358 50 486 4463
   Email: simo.veikkolainen@nokia.com





















Garcia-Martin & Veikkolainen  Expires December 19, 2009        [Page 25]


Html markup produced by rfcmarkup 1.108, available from http://tools.ietf.org/tools/rfcmarkup/