draft-ietf-mmusic-sdp-cs-21.txt   draft-ietf-mmusic-sdp-cs-22.txt 
MMUSIC WG M. Garcia-Martin MMUSIC WG M. Garcia-Martin
Internet-Draft Ericsson Internet-Draft Ericsson
Intended status: Standards Track S. Veikkolainen Intended status: Standards Track S. Veikkolainen
Expires: December 28, 2013 Nokia Expires: August 4, 2014 Nokia
June 26, 2013 January 31, 2014
Session Description Protocol (SDP) Extension For Setting Audio and Video Session Description Protocol (SDP) Extension For Setting Audio and Video
Media Streams Over Circuit-Switched Bearers In The Public Switched Media Streams Over Circuit-Switched Bearers In The Public Switched
Telephone Network (PSTN) Telephone Network (PSTN)
draft-ietf-mmusic-sdp-cs-21 draft-ietf-mmusic-sdp-cs-22
Abstract Abstract
This memo describes use cases, requirements, and protocol extensions This memo describes use cases, requirements, and protocol extensions
for using the Session Description Protocol (SDP) Offer/Answer model for using the Session Description Protocol (SDP) Offer/Answer model
for establishing audio and video media streams over circuit-switched for establishing audio and video media streams over circuit-switched
bearers in the Public Switched Telephone Network (PSTN). bearers in the Public Switched Telephone Network (PSTN).
Status of This Memo Status of This Memo
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 28, 2013. This Internet-Draft will expire on August 4, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions Used in This Document . . . . . . . . . . . . . . 4 2. Conventions Used in This Document . . . . . . . . . . . . . . 4
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 5 4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 5
4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 5 4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 6
5. Protocol Description . . . . . . . . . . . . . . . . . . . . 7 5. Protocol Description . . . . . . . . . . . . . . . . . . . . 7
5.1. Level of Compliance . . . . . . . . . . . . . . . . . . . 7 5.1. Level of Compliance . . . . . . . . . . . . . . . . . . . 7
5.2. Extensions to SDP . . . . . . . . . . . . . . . . . . . . 7 5.2. Extensions to SDP . . . . . . . . . . . . . . . . . . . . 7
5.2.1. Connection Data . . . . . . . . . . . . . . . . . . . 7 5.2.1. Connection Data . . . . . . . . . . . . . . . . . . . 7
5.2.2. Media Descriptions . . . . . . . . . . . . . . . . . 9 5.2.2. Media Descriptions . . . . . . . . . . . . . . . . . 9
5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP 10 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP 10
5.2.3.1. The "cs-correlation" attribute . . . . . . . . . 11 5.2.3.1. The "cs-correlation" attribute . . . . . . . . . 11
5.2.3.2. Caller-ID Correlation Mechanism . . . . . . . . . 11 5.2.3.2. Caller-ID Correlation Mechanism . . . . . . . . . 12
5.2.3.3. User-User Information Element Correlation 5.2.3.3. User-User Information Element Correlation
Mechanism . . . . . . . . . . . . . . . . . . . . 12 Mechanism . . . . . . . . . . . . . . . . . . . . 13
5.2.3.4. DTMF Correlation Mechanism . . . . . . . . . . . 14 5.2.3.4. DTMF Correlation Mechanism . . . . . . . . . . . 14
5.2.3.5. Extensions to correlation mechanisms . . . . . . 15 5.2.3.5. The external correlation mechanism . . . . . . . 15
5.3. Negotiating the correlation mechanisms . . . . . . . . . 15 5.2.3.6. Extensions to correlation mechanisms . . . . . . 16
5.3. Negotiating the correlation mechanisms . . . . . . . . . 16
5.3.1. Determining the Direction of the Circuit-Switched 5.3.1. Determining the Direction of the Circuit-Switched
Bearer Setup . . . . . . . . . . . . . . . . . . . . 15 Bearer Setup . . . . . . . . . . . . . . . . . . . . 16
5.3.2. Populating the cs-correlation attribute . . . . . . . 16 5.3.2. Populating the cs-correlation attribute . . . . . . . 17
5.3.3. Considerations on correlations . . . . . . . . . . . 17 5.3.3. Considerations on correlations . . . . . . . . . . . 18
5.4. Considerations for Usage of Existing SDP . . . . . . . . 18 5.4. Considerations for Usage of Existing SDP . . . . . . . . 18
5.4.1. Originator of the Session . . . . . . . . . . . . . . 18 5.4.1. Originator of the Session . . . . . . . . . . . . . . 18
5.4.2. Contact information . . . . . . . . . . . . . . . . . 18 5.4.2. Contact information . . . . . . . . . . . . . . . . . 19
5.5. Considerations for Usage of Third Party Call Control 5.5. Considerations for Usage of Third Party Call Control
(3PCC) . . . . . . . . . . . . . . . . . . . . . . . . . 19 (3PCC) . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.6. Offer/Answer mode extensions . . . . . . . . . . . . . . 19 5.6. Offer/Answer mode extensions . . . . . . . . . . . . . . 20
5.6.1. Generating the Initial Offer . . . . . . . . . . . . 19 5.6.1. Generating the Initial Offer . . . . . . . . . . . . 20
5.6.2. Generating the Answer . . . . . . . . . . . . . . . . 21 5.6.2. Generating the Answer . . . . . . . . . . . . . . . . 22
5.6.3. Offerer processing the Answer . . . . . . . . . . . . 24 5.6.3. Offerer processing the Answer . . . . . . . . . . . . 25
5.6.4. Modifying the session . . . . . . . . . . . . . . . . 26 5.6.4. Modifying the session . . . . . . . . . . . . . . . . 27
5.7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 26 5.7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 27
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1. Single PSTN audio stream . . . . . . . . . . . . . . . . 27 6.1. Single PSTN audio stream . . . . . . . . . . . . . . . . 29
6.2. Advanced SDP example: Circuit-Switched Audio and 6.2. Advanced SDP example: Circuit-Switched Audio and
Video Streams . . . . . . . . . . . . . . . . . . . . . . 29 Video Streams . . . . . . . . . . . . . . . . . . . . . . 31
7. Security Considerations . . . . . . . . . . . . . . . . . . . 31 7. Security Considerations . . . . . . . . . . . . . . . . . . . 32
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
8.1. Registration of new cs-correlation SDP attribute . . . . 32 8.1. Registration of new cs-correlation SDP attribute . . . . 33
8.2. Registration of a new "nettype" value . . . . . . . . . . 33 8.2. Registration of a new "nettype" value . . . . . . . . . . 34
8.3. Registration of new "addrtype" value . . . . . . . . . . 33 8.3. Registration of new "addrtype" value . . . . . . . . . . 34
8.4. Registration of a new "proto" value . . . . . . . . . . . 33 8.4. Registration of a new "proto" value . . . . . . . . . . . 34
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 35
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 10.1. Normative References . . . . . . . . . . . . . . . . . . 35
10.1. Normative References . . . . . . . . . . . . . . . . . . 34 10.2. Informative References . . . . . . . . . . . . . . . . . 36
10.2. Informative References . . . . . . . . . . . . . . . . . 34 10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37
1. Introduction 1. Introduction
The Session Description Protocol (SDP) [RFC4566] is intended for The Session Description Protocol (SDP) [RFC4566] is intended for
describing multimedia sessions for the purposes of session describing multimedia sessions for the purposes of session
announcement, session invitation, and other forms of multimedia announcement, session invitation, and other forms of multimedia
session initiation. SDP is most commonly used for describing media session initiation. SDP is most commonly used for describing media
streams that are transported over the Real-Time Transport Protocol streams that are transported over the Real-Time Transport Protocol
(RTP) [RFC3550], using the profiles for audio and video media defined (RTP) [RFC3550], using the profiles for audio and video media defined
in RTP Profile for Audio and Video Conferences with Minimal Control in RTP Profile for Audio and Video Conferences with Minimal Control
skipping to change at page 5, line 6 skipping to change at page 5, line 11
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14, RFC 2119 [RFC2119] and indicate requirement levels for compliant 14, RFC 2119 [RFC2119] and indicate requirement levels for compliant
implementations. implementations.
3. Requirements 3. Requirements
This section presents the general requirements that are specific for This section presents the general requirements that are specific for
the audio or video media streams over circuit-switched bearers. the audio or video media streams over circuit-switched bearers.
REQ-1: A mechanism for endpoints to negotiate and agree on an audio REQ-1: A mechanism for endpoints to negotiate and agree on an audio
or video media stream established over a circuit-switched bearer or video media stream established over a circuit-switched
MUST be available. bearer MUST be available.
REQ-2: The mechanism MUST allow the endpoints to combine circuit- REQ-2: The mechanism MUST allow the endpoints to combine circuit-
switched audio or video media streams with other complementary switched audio or video media streams with other
media streams, for example, text messaging. complementary media streams, for example, text messaging.
REQ-3: The mechanism MUST allow the endpoint to negotiate the REQ-3: The mechanism MUST allow the endpoint to negotiate the
direction of the circuit-switched bearer, i.e., which endpoint is direction of the circuit-switched bearer, i.e., which
active when initiating the circuit-switched bearer. endpoint is active when initiating the circuit-switched
bearer.
REQ-4: The mechanism MUST be independent of the type of the circuit- REQ-4: The mechanism MUST be independent of the type of the circuit-
switched access (e.g., Integrated Services Digital Network (ISDN), switched access (e.g., Integrated Services Digital Network
Global System for Mobile Communication (GSM), etc.) (ISDN), Global System for Mobile Communication (GSM), etc.)
REQ-5: There MUST be a mechanism that helps an endpoint to correlate REQ-5: There MUST be a mechanism that helps an endpoint to correlate
an incoming circuit-switched bearer with the one negotiated in an incoming circuit-switched bearer with the one negotiated
SDP, as opposed to another incoming call that is not related to in SDP, as opposed to another incoming call that is not
that. related to that. In case correlation by programmatic means
is not possible, correlation may also be performed by the
human user.
REQ-6: It MUST be possible for endpoints to advertise different REQ-6: It MUST be possible for endpoints to advertise different
lists of audio or video codecs in the circuit-switched audio or lists of audio or video codecs in the circuit-switched audio
video stream from those used in a packet-switched audio or video or video stream from those used in a packet-switched audio or
stream. video stream.
REQ-7: It MUST be possible for endpoints to not advertise the list REQ-7: It MUST be possible for endpoints to not advertise the list
of available codecs for circuit-switched audio or video streams. of available codecs for circuit-switched audio or video
streams.
4. Overview of Operation 4. Overview of Operation
The mechanism defined in this memo extends SDP and allows describing The mechanism defined in this memo extends SDP and allows describing
an audio or video media stream established over a circuit-switched an audio or video media stream established over a circuit-switched
bearer. A new network type ("PSTN") and a new protocol type ("PSTN") bearer. A new network type ("PSTN") and a new protocol type ("PSTN")
are defined for the "c=" and "m=" lines to be able to describe a are defined for the "c=" and "m=" lines to be able to describe a
media stream over a circuit-switched bearer. These SDP extensions media stream over a circuit-switched bearer. These SDP extensions
are described in Section 5.2. Since circuit-switched bearers are are described in Section 5.2. Since circuit-switched bearers are
connection-oriented media streams, the mechanism re-uses the connection-oriented media streams, the mechanism re-uses the
skipping to change at page 6, line 8 skipping to change at page 6, line 17
4.1. Example Call Flow 4.1. Example Call Flow
Consider the example presented in Figure 1. In this example, Consider the example presented in Figure 1. In this example,
Endpoint A is located in an environment where it has access to both Endpoint A is located in an environment where it has access to both
IP and circuit-switched bearers for communicating with other IP and circuit-switched bearers for communicating with other
endpoints. Endpoint A decides that the circuit-switched bearer endpoints. Endpoint A decides that the circuit-switched bearer
offers a better perceived quality of service for voice, and issues an offers a better perceived quality of service for voice, and issues an
SDP Offer containing the description of an audio media stream over SDP Offer containing the description of an audio media stream over
circuit-switched bearer. circuit-switched bearer.
Endpoint A Endpoint B Endpoint A Endpoint B
| (1) SDP Offer (PSTN audio) | | (1) SDP Offer (PSTN audio) |
|----------------------------------->| |----------------------------------->|
| | | |
| (2) SDP Answer (PSTN audio) | | (2) SDP Answer (PSTN audio) |
|<-----------------------------------| |<-----------------------------------|
| | | |
| PSTN call setup | | PSTN call setup |
|<-----------------------------------| |<-----------------------------------|
| | | |
| | | |
|<===== media over PSTN bearer =====>| |<===== media over PSTN bearer =====>|
| | | |
Figure 1: Example Flow Figure 1: Example Flow
Endpoint B receives the SDP offer and determines that it is located Endpoint B receives the SDP offer and determines that it is located
in an environment where the IP based bearer is not suitable for real- in an environment where the IP based bearer is not suitable for real-
time audio media. However, Endpoint B also has PSTN circuit-switched time audio media. However, Endpoint B also has PSTN circuit-switched
bearer available for audio. Endpoint B generates an SDP answer bearer available for audio. Endpoint B generates an SDP answer
containing a description of the audio media stream over a circuit- containing a description of the audio media stream over a circuit-
switched bearer. switched bearer.
skipping to change at page 10, line 36 skipping to change at page 10, line 42
5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP
The endpoints should be able to correlate the circuit-switched bearer The endpoints should be able to correlate the circuit-switched bearer
with the session negotiated with SDP in order to avoid ringing for an with the session negotiated with SDP in order to avoid ringing for an
incoming circuit-switched bearer that is related to the session incoming circuit-switched bearer that is related to the session
controlled with SDP (and SIP). controlled with SDP (and SIP).
Several alternatives exist for performing this correlation. This Several alternatives exist for performing this correlation. This
memo provides three mutually non-exclusive correlation mechanisms. memo provides three mutually non-exclusive correlation mechanisms.
Other correlation mechanisms may exist, and their usage will be Additionally, we define a fourth mechanism where correlation may be
specified when need arises. All mechanisms share the same principle: performed by external means, typically by the human user, in case
some unique information is sent in the SDP and in the circuit- using other correlation mechanisms is not possible or does not
switched signaling protocol. If these pieces of information match, succeed. Other correlation mechanisms may exist, and their usage
then the circuit-switched bearer is part of the session described in will be specified when need arises.
the SDP exchange. Otherwise, there is no guarantee that the circuit-
switched bearer is related to such session. All mechanisms share the same principle: 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 The first mechanism is based on the exchange of PSTN caller-ID
between the endpoints. The caller-ID is also available as the between the endpoints. The caller-ID is also available as the
Calling Party ID in the circuit-switched signaling. Calling Party ID in the circuit-switched signaling.
The second mechanism is based on the inclusion in SDP of a value that 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 is also sent in the User-to-User Information Element that is part of
the bearer setup signaling in the PSTN. the bearer setup signaling in the PSTN.
The third mechanism is based on sending in SDP a string that The third mechanism is based on sending in SDP a string that
represents Dual Tone MultiFrequency (DTMF) digits that will be later represents Dual Tone MultiFrequency (DTMF) digits that will be later
sent right after the circuit-switched bearer is established. sent right after the circuit-switched bearer is established.
Implementations MUST support the three correlation mechanisms
specified in Section 5.2.3.2, Section 5.2.3.3 and Section 5.2.3.4, The fourth correlation mechanism declares support for cases where
and SHOULD include all supported mechanisms the initial Offer. correlation is done by external means. Typically this means that the
decision is left for the human user. This is the way how some
current conferencing systems operate: after logging on to the
conference, the system calls back to the user's phone number to
establish audio communiations, and it is up to the human user to
accept or reject the incoming call. By declaring explicit support
for this mechanism endpoints can use it only when such possibility
exist.
Endpoints may opt to implement any combination of the correlation
mechanisms specified in Section 5.2.3.2, Section 5.2.3.3,
Section 5.2.3.4, and Section 5.2.3.5, including an option of
implementing none at all.
5.2.3.1. The "cs-correlation" attribute 5.2.3.1. The "cs-correlation" attribute
In order to provide support for the correlation mechanisms, we define In order to provide support for the correlation mechanisms, we define
a new media-level SDP attribute called "cs-correlation". This "cs- a new media-level SDP attribute called "cs-correlation". There MUST
correlation" attribute can include any of the "callerid", "uuie", or be at most one "cs-correlation" attribute per media description.
"dtmf" subfields, which specify additional information required by
the Caller-ID, User to User Information, or DTMF correlation This "cs-correlation" attribute MAY contain zero or more subfields,
mechanisms, respectively. The list of correlation mechanisms may be either "callerid", "uuie", "dtmf", or "external" to specify
extended by other specifications, see Section 5.2.3.5 for more additional information required by the Caller-ID, User to User
details. There MUST be at most one "cs-correlation" attribute per Information, DTMF, or external correlation mechanisms, respectively.
media description. The list of correlation mechanisms may be extended by other
specifications, see Section 5.2.3.6 for more details.
The following sections provide more detailed information of these The following sections provide more detailed information of these
subfields. subfields.
The values "callerid", "uuie" and "dtmf" refer to the correlation The values "callerid", "uuie", "dtmf" and "external" refer to the
mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and correlation mechanisms defined in Section 5.2.3.2, Section 5.2.3.3,
Section 5.2.3.4, respectively. The formal Augmented Backus-Naur Section 5.2.3.4 and, Section 5.2.3.5 respectively. The formal
Format (ABNF) syntax of the "cs-correlation" attribute is presented Augmented Backus-Naur Format (ABNF) syntax of the "cs-correlation"
in Section 5.7. attribute is presented in Section 5.7.
5.2.3.2. Caller-ID Correlation Mechanism 5.2.3.2. Caller-ID Correlation Mechanism
The Caller-ID correlation mechanisms consists of an exchange of the The Caller-ID correlation mechanisms consists of an exchange of the
calling party number as an international E.164 number in SDP, calling party number as an international E.164 number in SDP,
followed by the availability of the Calling Party Number information followed by the availability of the Calling Party Number information
element in the call setup signaling of the circuit switched element in the call setup signaling of the circuit switched
connection. If both pieces of information match, the circuit- connection. If both pieces of information match, the circuit-
switched bearer is correlated to the session described in SDP. switched bearer is correlated to the session described in SDP.
skipping to change at page 15, line 25 skipping to change at page 15, line 36
a=cs-correlation:dtmf:14D*3 a=cs-correlation:dtmf:14D*3
If the endpoints successfully agree on the usage of the DTMF digit If the endpoints successfully agree on the usage of the DTMF digit
correlation mechanism, but the passive side does not receive any DTMF correlation mechanism, but the passive side does not receive any DTMF
digits after successful circuit-switched bearer setup, or receives a digits after successful circuit-switched bearer setup, or receives a
set of DTMF digits that do not match the value of the "dtmf" set of DTMF digits that do not match the value of the "dtmf"
attribute (including receiving too many digits), the passive side attribute (including receiving too many digits), the passive side
SHOULD consider that this DTMF mechanism has failed to correlate the SHOULD consider that this DTMF mechanism has failed to correlate the
incoming call. incoming call.
5.2.3.5. Extensions to correlation mechanisms 5.2.3.5. The external correlation mechanism
The fourth correlation mechanism relies on external means for
correlating the incoming call to the session. Since endpoints can
select which correlation mechanisms they support, it may happen that
no other common correlation mechanism is found, or that the selected
correlation mechanism does not succeed due to the required feature
not being supported by the underlying PSTN network. In these cases,
the human user can do the decision of accepting or rejecting the
incoming call, thus "correlating" the call with the session. Since
not all endpoints are operated by a human user, or if there is no
other external means implemented by the endpoint for the correlation
funtion, we explicitly define support for such external correlation
mechanism.
Endpoints wishing to use this external correlation mechanism would
use a subfield "external" in the "a=cs-correlation" attribute.
Unlike the three other correlation mechansism, the "external"
subfield does not accept a value. An example of a "a=cs-correlation"
attribute line would look like this:
a=cs-correlation:external
5.2.3.6. Extensions to correlation mechanisms
New values for the "cs-correlation" attribute may be specified. The New values for the "cs-correlation" attribute may be specified. The
registration policy for new values is "Specification Required", see registration policy for new values is "Specification Required", see
Section 8. Any such specification MUST include a description of how Section 8. Any such specification MUST include a description of how
SDP Offer/Answer mechanism is used to negotiate the use of the new SDP Offer/Answer mechanism is used to negotiate the use of the new
values, taking into account how endpoints determine which side will values, taking into account how endpoints determine which side will
become active or passive (see Section 5.3 for more details). become active or passive (see Section 5.3 for more details).
If, during the Offer/Answer negotiation, either endpoint encounters If, during the Offer/Answer negotiation, either endpoint encounters
an unknown value in the "cs-correlation" attribute, it MUST consider an unknown value in the "cs-correlation" attribute, it MUST consider
that mechanism as unsupported, and MUST NOT include that value in that mechanism as unsupported, and MUST NOT include that value in
subsequent Offer/Answer negotiation. subsequent Offer/Answer negotiation.
5.3. Negotiating the correlation mechanisms 5.3. Negotiating the correlation mechanisms
The three correlation mechanisms presented above (based on called The four correlation mechanisms presented above (based on called
party number, User-User Information Element and DTMF digit sending) party number, User-User Information Element, DTMF digit sending, and
are non-exclusive, and can be used independently of each other. In external) are non-exclusive, and can be used independently of each
order to know how to populate the "cs-correlation" attribute, the other. In order to know how to populate the "cs-correlation"
endpoints need to agree which endpoint will become the active party, attribute, the endpoints need to agree which endpoint will become the
i.e., the one that will set up the circuit-switched bearer. active party, i.e., the one that will set up the circuit-switched
bearer.
5.3.1. Determining the Direction of the Circuit-Switched Bearer Setup 5.3.1. Determining the Direction of the Circuit-Switched Bearer Setup
In order to avoid a situation where both endpoints attempt to In order to avoid a situation where both endpoints attempt to
initiate a connection simultaneously, the direction in which the initiate a connection simultaneously, the direction in which the
circuit-switched bearer is set up MUST be negotiated during the Offer circuit-switched bearer is set up MUST be negotiated during the Offer
/Answer exchange. /Answer exchange.
The framework defined in RFC 4145 [RFC4145] allows the endpoints to The framework defined in RFC 4145 [RFC4145] allows the endpoints to
agree which endpoint acts as the active endpoint when initiating a agree which endpoint acts as the active endpoint when initiating a
skipping to change at page 17, line 8 skipping to change at page 17, line 38
attribute, the endpoint indicates that it is willing to become the attribute, the endpoint indicates that it is willing to become the
active party, and that it can use those values in the Calling party active party, and that it can use those values in the Calling party
number, User-User Information Element, or as DTMF tones during the number, User-User Information Element, or as DTMF tones during the
circuit-switched bearer setup. circuit-switched bearer setup.
Thus, the following rules apply: Thus, the following rules apply:
An endpoint that can only become the active party in the circuit- An endpoint that can only become the active party in the circuit-
switched bearer setup MUST include all correlation mechanisms it switched bearer setup MUST include all correlation mechanisms it
supports in the "a=cs-correlation" attribute, and MUST also supports in the "a=cs-correlation" attribute, and MUST also
specify values for the subfields. specify values for the "callerid", "uuie" and "dtmf" subfields.
Notice that the "external" subfield does not accept a value.
An endpoint that can only become the passive party in the circuit- An endpoint that can only become the passive party in the circuit-
switched bearer setup MUST include all correlation mechanisms it switched bearer setup MUST include all correlation mechanisms it
supports in the "a=cs-correlation" attribute, but MUST NOT specify supports in the "a=cs-correlation" attribute, but MUST NOT specify
values for the subfields. values for the subfields.
An endpoint that is willing to become either the active or passive An endpoint that is willing to become either the active or passive
party (by including the "a=setup:actpass" attribute in the Offer), party (by including the "a=setup:actpass" attribute in the Offer),
MUST include all correlation mechanisms it supports in the "a=cs- MUST include all correlation mechanisms it supports in the "a=cs-
correlation" attribute, and MUST also specify values for the correlation" attribute, and MUST also specify values for the
subfields. "callerid", "uuie" and "dtmf" subfields. Notice that the
"external" subfield does not accept a value.
5.3.3. Considerations on correlations 5.3.3. Considerations on correlations
Passive endpoints should expect an incoming CS call for setting up Passive endpoints should expect an incoming CS call for setting up
the audio bearer. Passive endpoints MAY suppress the incoming CS the audio bearer. Passive endpoints MAY suppress the incoming CS
alert during a certain time periods. Additional restrictions can be alert during a certain time periods. Additional restrictions can be
applied, such as the passive endpoint not alerting incoming calls applied, such as the passive endpoint not alerting incoming calls
originated from the number that was observed during the offer/answer originated from the number that was observed during the offer/answer
negotiation. negotiation.
There may be cases when an endpoint is not willing to include all There may be cases when an endpoint is not willing to include one or
three correlation mechanisms in the "a=cs-correlation" attribute line more correlation mechanisms in the "a=cs-correlation" attribute line
even if it supports all three mechansism. For example, some even if it supports it. For example, some correlation mechanisms can
correlation mechanism can be omitted if the endpoint is certain that be omitted if the endpoint is certain that the PSTN network does not
the PSTN network does not support carrying the correlation support carrying the correlation identifier. Also, since using the
identifier. Also, since using the DTMF based correlation mechanism DTMF based correlation mechanism requires the call to be accepted
requires the call to be accepted before DTMF tones cane be sent, some before DTMF tones cane be sent, some endpoints may enforce a policy
endpoints may enforce a policy restricting this due to for example restricting this due to for example cost associated with received
cost associated with received calls, making the DTMF based mechanism calls, making the DTMF based mechanism unusable.
unusable.
Note that it cannot be guaranteed that any given correlation Note that it cannot be guaranteed that the correlation mechanisms
mechanism will succeed even if the usage of those was agreed relying on caller identification, User-User Information Element and
DTMF sending will succeed even if the usage of those was agreed
beforehand. This is due to the fact that the correlation mechanisms beforehand. This is due to the fact that the correlation mechanisms
require support from the circuit-switched bearer technology used. require support from the circuit-switched bearer technology used.
Therefore, even a single positive indication using any of these Therefore, even a single positive indication using any of these
mechanisms SHOULD be interpreted by the passive endpoint so that the mechanisms SHOULD be interpreted by the passive endpoint so that the
circuit-switched bearer establishment is related to the ongoing circuit-switched bearer establishment is related to the ongoing
session, even if the other correlation mechanisms fail. session, even if the other correlation mechanisms fail.
If, after negotiating one or more correlation mechanisms in the SDP If, after successfully negotiating any of the "callerid", "uuie" or
offer/answer exchange, an endpoint receives a circuit-switched bearer "dtmf" correlation mechanisms in the SDP offer/answer exchange, an
with no correlation information present, the endpoint has two endpoint receives an incoming establishment of a circuit-switched
choices: it can either treat the call as unrelated, or treat the call bearer with no correlation information present, the endpoint first
as related to the ongoing session in the IP domain. checks whether the offer/answer exchange was used to successfully
negotiate also the "external" correlation mechanism. If it was, the
An endpoint may for example specify a time window after SDP offer/ endpoint should leave the decision to be made by this external means,
answer exchange during which received calls are treated as correlated typically the human user. If the "external" correlation mechanism
even if the signaling in the circuit-switched domain does not carry was not succesfully negotiated, the endpoint should treat the call as
any correlation information. In this case, there is a chance that unrelated to the ongoing session in the IP domain.
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 signaling 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.
Since, in these cases, no correlation information can be deduced from
the signaling, 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.4. Considerations for Usage of Existing SDP 5.4. Considerations for Usage of Existing SDP
5.4.1. Originator of the Session 5.4.1. Originator of the Session
According to SDP [RFC4566], the origin line in SDP has the following According to SDP [RFC4566], the origin line in SDP has the following
syntax: syntax:
o=<username> <sess-id> <sess-version> <nettype> <addrtype> o=<username> <sess-id> <sess-version> <nettype> <addrtype>
<unicast-address> <unicast-address>
skipping to change at page 20, line 29 skipping to change at page 21, line 5
See Section 6 of RFC 4566 [RFC4566] for details. See Section 6 of RFC 4566 [RFC4566] for details.
When generating the Offer, the Offerer MUST include an attribute line When generating the Offer, the Offerer MUST include an attribute line
"a=cs-correlation" in the SDP offer. The Offerer MUST NOT include "a=cs-correlation" in the SDP offer. The Offerer MUST NOT include
more than one "cs-correlation" attribute per media decription. The more than one "cs-correlation" attribute per media decription. The
"a=cs-correlation" line SHOULD contain an enumeration of all the "a=cs-correlation" line SHOULD contain an enumeration of all the
correlation mechanisms supported by the Offerer, in the format of correlation mechanisms supported by the Offerer, in the format of
subfields. See Section 5.3.3 for more information on usage of the subfields. See Section 5.3.3 for more information on usage of the
correlation mechanisms. correlation mechanisms.
The current list of subfields include "callerid", "uuie" and "dtmf" The current list of subfields include "callerid", "uuie", "dtmf", and
and they refer to the correlation mechanisms defined in "extenal", 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. Section 5.2.3.2, Section 5.2.3.3, Section 5.2.3.4, and
Section 5.2.3.5 respectively.
If the Offerer supports any of the correlation mechanisms defined in If the Offerer supports any of the correlation mechanisms defined in
this memo, and is willing to become the active party, the Offerer this memo, and is willing to become the active party, the Offerer
MUST add the "callerid", "uuie", and/or "dtmf" subfields and MUST MUST add the "callerid", "uuie", "dtmf" and/or "extern" subfields and
specify values for those subfields. MUST specify values for them as follows:
o the international E.164 number as the value in the "callerid" o the international E.164 number as the value in the "callerid"
subfield, subfield,
o the contents of the User-User information element as the value of o the contents of the User-User information element as the value of
the "uuie" subfield, and/or the "uuie" subfield, and/or
o the DTMF tone string as the value of the "dtmf" subfield o the DTMF tone string as the value of the "dtmf" subfield
o for the "external" subfield, the endpoint MUST NOT specify any
value.
If the Offerer is only able to become the passive party in the If the Offerer is only able to become the passive party in the
circuit-switched bearer setup, it MUST add at least one of the circuit-switched bearer setup, it MUST add at least one of the
possible correlation mechanisms, but MUST NOT specify values for possible correlation mechanisms, but MUST NOT specify values for
those subfields. those subfields.
For example, if the Offerer is willing to use the User-User For example, if the Offerer is willing to use the User-User
Information element and DTMF digit sending mechanisms, but can only Information element and DTMF digit sending mechanisms but can only
become the passive party, it includes the following lines in the SDP: become the passive party, and is also able to let the human user
decide whether the correlation should be done or not, it includes the
following lines in the SDP:
a=cs-correlation:uuie dtmf a=cs-correlation:uuie dtmf external
a=setup:passive a=setup:passive
If, on the other hand, the Offerer is willing to use the User-User If, on the other hand, the Offerer is willing to use the User-User
Information element and the DTMF correlation mechanisms, and is able Information element and the DTMF correlation mechanisms and is able
to become the active or passive side, it includes the following lines to become the active or passive side, and is also able to let the
in the SDP: human user decide whether the correlation should be done or no, it
includes the following lines in the SDP:
a=cs-correlation:uuie:56A390F3D2B7310023 dtmf:14D*3 a=cs-correlation:uuie:56A390F3D2B7310023 dtmf:14D*3 external
a=setup:actpass a=setup:actpass
The negotiation of the value of the 'setup' attribute takes place as The negotiation of the value of the 'setup' attribute takes place as
defined in Section 4.1 of RFC4145 [RFC4145]. defined in Section 4.1 of RFC4145 [RFC4145].
The Offerer states which role or roles it is willing to perform; and The Offerer states which role or roles it is willing to perform; and
the Answerer, taking the Offerer's willingness into consideration, the Answerer, taking the Offerer's willingness into consideration,
chooses which roles both endpoints will actually perform during the chooses which roles both endpoints will actually perform during the
circuit-switched bearer setup. circuit-switched bearer setup.
skipping to change at page 22, line 36 skipping to change at page 23, line 16
becomes the active or passive party. becomes the active or passive party.
If the SDP in the Offer indicates that the Offerer is only able to If the SDP in the Offer indicates that the Offerer is only able to
become the active party, the Answerer needs to determine whether it become the active party, the Answerer needs to determine whether it
is able to become the passive party. If this is not possible e.g. is able to become the passive party. If this is not possible e.g.
due to the Answerer not knowing its international E.164 number, the due to the Answerer not knowing its international E.164 number, the
Answerer MUST reject the circuit-switched media by setting the port Answerer MUST reject the circuit-switched media by setting the port
number to zero on the Answer. If the Answerer is aware of its number to zero on the Answer. If the Answerer is aware of its
international E.164 number, it MUST include the "a=setup" attribute international E.164 number, it MUST include the "a=setup" attribute
in the Answer and set it to value "passive" or "holdconn". The in the Answer and set it to value "passive" or "holdconn". The
Answerer MUST also include its E.164 number on the "c=" line. Answerer MUST also include its E.164 number in the "c=" line.
If the SDP in the Offer indicates that the Offerer is only able to If the SDP in the Offer indicates that the Offerer is only able to
become the passive party, the Answerer MUST verify that the Offerer's become the passive party, the Answerer MUST verify that the Offerer's
E.164 number is included in the "c=" line of the Offer. If the E.164 number is included in the "c=" line of the Offer. If the
number is included, the Answerer MUST include the "a=setup" attribute number is included, the Answerer MUST include the "a=setup" attribute
in the Answer and set it to value "active" or "holdconn". If the in the Answer and set it to value "active" or "holdconn". If the
number is not included, or the recipient of the Offer is not willing number is not included, or the recipient of the Offer is not willing
to establish a connection the E.164 based on a priori knowledge of to establish a connection the E.164 based on a priori knowledge of
cost, or other reasons, call establishment is not possible, and the cost, or other reasons, call establishment is not possible, and the
Answerer MUST reject the circuit-switched media by setting the port Answerer MUST reject the circuit-switched media by setting the port
skipping to change at page 24, line 28 skipping to change at page 25, line 8
correlation" attribute, the call SHOULD be treated as correlated correlation" attribute, the call SHOULD be treated as correlated
to the ongoing session. to the ongoing session.
o if the Offer contained a value for the "uuie" subfield, MUST be o if the Offer contained a value for the "uuie" subfield, MUST be
prepared to receive a User-User Information element once the prepared to receive a User-User Information element once the
circuit-switched bearer is set up. The Answerer MUST compare the circuit-switched bearer is set up. The Answerer MUST compare the
received UUI to the value of the "uuie" subfield. If the value of received UUI to the value of the "uuie" subfield. If the value of
the received UUI matches the value of the "uuie" subfield, the the received UUI matches the value of the "uuie" subfield, the
call SHOULD be treated as correlated to the ongoing session. call SHOULD be treated as correlated to the ongoing session.
o if the Offer contained a "external" subfield, MUST be prepared to
receive a circuit-switched call and use the external means
(typically the human user) for accepting or rejecting the call.
If the Answerer becomes the active party, generates an SDP answer, If the Answerer becomes the active party, generates an SDP answer,
and then it finds out that the circuit-switched call cannot be and then it finds out that the circuit-switched call cannot be
established, then the Answerer MUST create a new SDP offer where established, then the Answerer MUST create a new SDP offer where
circuit-switched stream is removed from the session (actually, by circuit-switched stream is removed from the session (actually, by
setting the corresponding port in the m= line to zero) and send it to setting the corresponding port in the m= line to zero) and send it to
its counterpart. This is to synchronize both parties (and potential its counterpart. This is to synchronize both parties (and potential
intermediaries) on the state of the session. intermediaries) on the state of the session.
5.6.3. Offerer processing the Answer 5.6.3. Offerer processing the Answer
skipping to change at page 25, line 44 skipping to change at page 26, line 29
correlated to the ongoing session. correlated to the ongoing session.
o If the Answer contained a value for the "uuie" subfield, the o If the Answer contained a value for the "uuie" subfield, the
Offerer MUST be prepared to receive a User-User Information Offerer MUST be prepared to receive a User-User Information
element once the circuit-switched bearer is set up. The Offerer element once the circuit-switched bearer is set up. The Offerer
SHOULD compare the received UUI to the value of the "uuie" SHOULD compare the received UUI to the value of the "uuie"
subfield. If the value of the received UUI matches the value of subfield. If the value of the received UUI matches the value of
the "uuie" subfield, the call SHOULD be treated as correlated to the "uuie" subfield, the call SHOULD be treated as correlated to
the ongoing session. the ongoing session.
o If the Answer contained a "external" subfield, the Offerer MUST be
prepared to receive a circuit-switched call and use the external
means (typically the human user) for accepting or rejecting the
call.
According the Offer/Answer Model with SDP [RFC3264], the Offerer According the Offer/Answer Model with SDP [RFC3264], the Offerer
needs to be ready to receive media as soon as the Offer has been needs to be ready to receive media as soon as the Offer has been
sent. It may happen that the Answerer, if it became the active sent. It may happen that the Answerer, if it became the active
party, will initiate a circuit-switched bearer setup which will party, will initiate a circuit-switched bearer setup which will
arrive at the Offerer before the Answer has arrived. However, the arrive at the Offerer before the Answer has arrived. However, the
Offerer needs to receive the Answer and examine the information about Offerer needs to receive the Answer and examine the information about
the correlation mechanisms in order to successfully perform the correlation mechanisms in order to successfully perform
correlation of the circuit-switched call to the session. Therefore, correlation of the circuit-switched call to the session. Therefore,
if the Offerer receives an incoming circuit-switched call, it MUST if the Offerer receives an incoming circuit-switched call, it MUST
NOT accept the call before the Answer has been received. If no NOT accept the call before the Answer has been received. If no
skipping to change at page 27, line 17 skipping to change at page 28, line 23
connection-address /= global-number-digits / "-" connection-address /= global-number-digits / "-"
; global-number-digits specified in RFC3966 ; global-number-digits specified in RFC3966
;subrules for correlation attribute ;subrules for correlation attribute
attribute /= cs-correlation-attr attribute /= cs-correlation-attr
; attribute defined in RFC4566 ; attribute defined in RFC4566
cs-correlation-attr = "cs-correlation:" corr-mechanisms cs-correlation-attr = "cs-correlation:" corr-mechanisms
corr-mechanisms = corr-mech *(SP corr-mech) corr-mechanisms = corr-mech *(SP corr-mech)
corr-mech = caller-id-mech / uuie-mech / corr-mech = caller-id-mech / uuie-mech /
dtmf-mech / ext-mech dtmf-mech / external-mech /
ext-mech
caller-id-mech = "callerid" [":" caller-id-value] caller-id-mech = "callerid" [":" caller-id-value]
caller-id-value = "+" 1*15DIGIT caller-id-value = "+" 1*15DIGIT
; DIGIT defined in RFC5234 ; DIGIT defined in RFC5234
uuie-mech = "uuie" [":" uuie-value] uuie-mech = "uuie" [":" uuie-value]
uuie-value = 1*65(HEXDIG HEXDIG) uuie-value = 1*65(HEXDIG HEXDIG)
;This represents up to 130 HEXDIG ;This represents up to 130 HEXDIG
; (65 octets) ; (65 octets)
;HEXDIG defined in RFC5234 ;HEXDIG defined in RFC5234
;HEXDIG defined as 0-9, A-F ;HEXDIG defined as 0-9, A-F
dtmf-mech = "dtmf" [":" dtmf-value] dtmf-mech = "dtmf" [":" dtmf-value]
dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A ) dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A )
;0-9, A-D, '#' and '*' ;0-9, A-D, '#' and '*'
external-mech = "external"
ext-mech = ext-mech-name [":" ext-mech-value] ext-mech = ext-mech-name [":" ext-mech-value]
ext-mech-name = token ext-mech-name = token
ext-mech-value = token ext-mech-value = token
; token is specified in RFC4566 ; token is specified in RFC4566
Figure 2: Syntax of the SDP extensions Figure 2: Syntax of the SDP extensions
6. Examples 6. Examples
In the examples below, where an SDP line is too long to be displayed In the examples below, where an SDP line is too long to be displayed
as a single line, a breaking character "\" indicates continuation in as a single line, a breaking character "\" indicates continuation in
the following line. Note that this character is included for display the following line. Note that this character is included for display
purposes only. Implementations MUST write a single line without purposes only. Implementations MUST write a single line without
breaks. breaks.
6.1. Single PSTN audio stream 6.1. Single PSTN audio stream
Endpoint A Endpoint B Endpoint A Endpoint B
| | | |
| (1) SDP Offer (PSTN audio) | | (1) SDP Offer (PSTN audio) |
|--------------------------------->| |--------------------------------->|
| | | |
| (2) SDP Answer (PSTN audio) | | (2) SDP Answer (PSTN audio) |
|<---------------------------------| |<---------------------------------|
| | | |
| PSTN call setup | | PSTN call setup |
|<---------------------------------| |<---------------------------------|
| | | |
|<==== media over PSTN bearer ====>| |<==== media over PSTN bearer ====>|
| | | |
Figure 3: Basic flow Figure 3: Basic flow
Figure 3 shows a basic example that describes a single audio media Figure 3 shows a basic example that describes a single audio media
stream over a circuit-switched bearer. Endpoint A generates a SDP stream over a circuit-switched bearer. Endpoint A generates a SDP
Offer which is shown in Figure 4. The Offer describes a PSTN Offer which is shown in Figure 4. The Offer describes a PSTN
circuit-switched bearer in the "m=" and "c=" line where it also circuit-switched bearer in the "m=" and "c=" line where it also
indicates its international E.164 number format. Additionally, indicates its international E.164 number format. Additionally,
Endpoint A expresses that it can initiate the circuit-switched bearer Endpoint A expresses that it can initiate the circuit-switched bearer
or be the recipient of it in the "a=setup" attribute line. The SDP or be the recipient of it in the "a=setup" attribute line. The SDP
Offer also includes correlation identifiers that this endpoint will Offer also includes correlation identifiers that this endpoint will
insert in the Calling Party Number and/or User-User Information insert in the Calling Party Number and/or User-User Information
Element of the PSTN call setup if eventually this endpoint initiates Element of the PSTN call setup if eventually this endpoint initiates
the PSTN call. the PSTN call. Endpoint A also includes the "external" as one
correlation mechanism indicating that it can use the human user to
perform correlation in case other mechanisms fail.
v=0 v=0
o=alice 2890844526 2890842807 IN IP4 192.0.2.5 o=alice 2890844526 2890842807 IN IP4 192.0.2.5
s= s=
t=0 0 t=0 0
m=audio 9 PSTN - m=audio 9 PSTN -
c=PSTN E164 +441134960123 c=PSTN E164 +441134960123
a=setup:actpass a=setup:actpass
a=connection:new a=connection:new
a=cs-correlation:callerid:+441134960123 \ a=cs-correlation:callerid:+441134960123 \
uuie:56A390F3D2B7310023 uuie:56A390F3D2B7310023 external
Figure 4: SDP offer (1) Figure 4: SDP offer (1)
Endpoint B generates a SDP Answer (Figure 5), describing a PSTN audio Endpoint B generates a SDP Answer (Figure 5), describing a PSTN audio
media on port 9 without information on the media sub-type on the "m=" media on port 9 without information on the media sub-type on the "m="
line. The "c=" line contains B's international E.164 number. In the line. The "c=" line contains B's international E.164 number. In the
"a=setup" line Endpoint B indicates that it is willing to become the "a=setup" line Endpoint B indicates that it is willing to become the
active endpoint when establishing the PSTN call, and it also includes active endpoint when establishing the PSTN call, and it also includes
the "a=cs-correlation" attribute line containing the values it is the "a=cs-correlation" attribute line containing the values it is
going to include in the Calling Party Number and User-User IE of the going to include in the Calling Party Number and User-User IE of the
PSTN call establishment. PSTN call establishment. Endpoint B is also able to perform
correlation by external means, in case other correlation mechanisms
fail.
v=0 v=0
o=- 2890973824 2890987289 IN IP4 192.0.2.7 o=- 2890973824 2890987289 IN IP4 192.0.2.7
s= s=
t=0 0 t=0 0
m=audio 9 PSTN - m=audio 9 PSTN -
c=PSTN E164 +441134960124 c=PSTN E164 +441134960124
a=setup:active a=setup:active
a=connection:new a=connection:new
a=cs-correlation:callerid:+441134960124 \ a=cs-correlation:callerid:+441134960124 \
uuie:74B9027A869D7966A2 uuie:74B9027A869D7966A2 external
Figure 5: SDP Answer with circuit-switched media Figure 5: SDP Answer with circuit-switched media
When Endoint A receives the Answer, it examines that B is willing to When Endoint A receives the Answer, it examines that B is willing to
become the active endpoint when setting up the PSTN call. Endoint A become the active endpoint when setting up the PSTN call. Endoint A
temporarily stores B's E.164 number and the User-User IE value of the temporarily stores B's E.164 number and the User-User IE value of the
"cs-correlation" attribute, and waits for a circuit-switched bearer "cs-correlation" attribute, and waits for a circuit-switched bearer
establishment. establishment.
Endpoint B initiates a circuit-switched bearer using whatever Endpoint B initiates a circuit-switched bearer using whatever
skipping to change at page 29, line 42 skipping to change at page 31, line 7
received by the called party, or the format of the calling party received by the called party, or the format of the calling party
number is changed by the PSTN. Implementations may still accept such number is changed by the PSTN. Implementations may still accept such
call establishment attempts as being related to the session that was call establishment attempts as being related to the session that was
established in the IP network. As it cannot be guaranteed that the established in the IP network. As it cannot be guaranteed that the
values used for correlation are always passed intact through the values used for correlation are always passed intact through the
network, they should be treated as additional hints that the circuit- network, they should be treated as additional hints that the circuit-
switched bearer is actually related to the session. switched bearer is actually related to the session.
6.2. Advanced SDP example: Circuit-Switched Audio and Video Streams 6.2. Advanced SDP example: Circuit-Switched Audio and Video Streams
Endpoint A Endpoint B Endpoint A Endpoint B
| | | |
| (1) SDP Offer (PSTN audio and video) | | (1) SDP Offer (PSTN audio and video) |
|------------------------------------------->| |------------------------------------------->|
| | | |
| (2) SDP Answer (PSTN audio) | | (2) SDP Answer (PSTN audio) |
|<-------------------------------------------| |<-------------------------------------------|
| | | |
| PSTN call setup | | PSTN call setup |
|<-------------------------------------------| |<-------------------------------------------|
| | | |
|<======== media over PSTN bearer ==========>| |<======== media over PSTN bearer ==========>|
| | | |
Figure 6: Circuit-Switched Audio and Video streams Figure 6: Circuit-Switched Audio and Video streams
Figure 6 shows an example of negotiating audio and video media Figure 6 shows an example of negotiating audio and video media
streams over circuit-switched bearers. streams over circuit-switched bearers.
v=0 v=0
o=alice 2890844526 2890842807 IN IP4 192.0.2.5 o=alice 2890844526 2890842807 IN IP4 192.0.2.5
s= s=
t=0 0 t=0 0
a=setup:actpass a=setup:actpass
a=connection:new a=connection:new
c=PSTN E164 +441134960123 c=PSTN E164 +441134960123
m=audio 9 PSTN - m=audio 9 PSTN -
a=cs-correlation:dtmf:1234536 a=cs-correlation:dtmf:1234536
m=video 9 PSTN 34 m=video 9 PSTN 34
a=rtpmap:34 H263/90000 a=rtpmap:34 H263/90000
a=cs-correlation:callerid:+441134960123 a=cs-correlation:callerid:+441134960123
Figure 7: SDP offer with circuit-switched audio and video (1) Figure 7: SDP offer with circuit-switched audio and video (1)
Upon receiving the SDP offer described in Figure 7, Endpoint B Upon receiving the SDP offer described in Figure 7, Endpoint B
rejects the video stream as the device does not currently support rejects the video stream as the device does not currently support
video, but accepts the circuit-switched audio stream. As Endoint A video, but accepts the circuit-switched audio stream. As Endoint A
indicated that it is able to become either the active or passive indicated that it is able to become either the active or passive
party, Endpoint B gets to select which role it would like to take. party, Endpoint B gets to select which role it would like to take.
Since the Offer contained the international E.164 number of Endpoint Since the Offer contained the international E.164 number of Endpoint
A, Endpoint B decides that it becomes the active party in setting up A, Endpoint B decides that it becomes the active party in setting up
the circuit-switched bearer. B includes a new value in the "dtmf" the circuit-switched bearer. B includes a new value in the "dtmf"
subfield of the "cs-correlation" attribute, which it is going to send subfield of the "cs-correlation" attribute, which it is going to send
as DTMF tones once the bearer setup is complete. The Answer is as DTMF tones once the bearer setup is complete. The Answer is
described in Figure 8 described in Figure 8
v=0
v=0 o=- 2890973824 2890987289 IN IP4 192.0.2.7
o=- 2890973824 2890987289 IN IP4 192.0.2.7 s=
s= t=0 0
t=0 0 a=setup:active
a=setup:active a=connection:new
a=connection:new c=PSTN E164 +441134960124
c=PSTN E164 +441134960124 m=audio 9 PSTN -
m=audio 9 PSTN - a=cs-correlation:dtmf:654321
a=cs-correlation:dtmf:654321 m=video 0 PSTN 34
m=video 0 PSTN 34 a=cs-correlation:callerid:+441134960124
a=cs-correlation:callerid:+441134960124
Figure 8: SDP answer with circuit-switched audio and video (2) Figure 8: SDP answer with circuit-switched audio and video (2)
7. Security Considerations 7. Security Considerations
This document provides an extension on top of RFC 4566 [RFC4566], and This document provides an extension on top of RFC 4566 [RFC4566], and
RFC 3264 [RFC3264]. As such, the security considerations of those RFC 3264 [RFC3264]. As such, the security considerations of those
documents apply. documents apply.
This memo provides mechanisms to agree on a correlation identifier or This memo provides mechanisms to agree on a correlation identifier or
skipping to change at page 32, line 44 skipping to change at page 34, line 12
registry. The initial values for the subregistry are presented in registry. The initial values for the subregistry are presented in
the following, and IANA is requested to add them into its database: the following, and IANA is requested to add them into its database:
Value of 'cs-correlation' attribute Reference Description Value of 'cs-correlation' attribute Reference Description
----------------------------------- --------- ----------- ----------------------------------- --------- -----------
callerid RFC XXXX Caller ID callerid RFC XXXX Caller ID
uuie RFC XXXX User-User uuie RFC XXXX User-User
Information Element Information Element
dtmf RFC XXXX Dual-tone dtmf RFC XXXX Dual-tone
Multifrequency Multifrequency
external RFC XXXX External
Note for the RFC Editor: 'RFC XXXX' above should be replaced by a Note for the RFC Editor: 'RFC XXXX' above should be replaced by a
reference to the RFC number of this draft. reference to the RFC number of this draft.
As per the terminology in [RFC5226], the registration policy for new As per the terminology in [RFC5226], the registration policy for new
values of 'cs-correlation' parameter is 'Specification Required'. values of 'cs-correlation' parameter is 'Specification Required'.
8.2. Registration of a new "nettype" value 8.2. Registration of a new "nettype" value
This memo provides instructions to IANA to register a new "nettype" This memo provides instructions to IANA to register a new "nettype"
skipping to change at page 34, line 18 skipping to change at page 35, line 33
Belling, John Elwell, Jari Mutikainen, Miikka Poikselka, Jonathan Belling, John Elwell, Jari Mutikainen, Miikka Poikselka, Jonathan
Rosenberg, Ingemar Johansson, Christer Holmberg, Alf Heidermark, Tom Rosenberg, Ingemar Johansson, Christer Holmberg, Alf Heidermark, Tom
Taylor, Thomas Belling, Keith Drage, and Andrew Allen for providing Taylor, Thomas Belling, Keith Drage, and Andrew Allen for providing
their insight and comments on this document. their insight and comments on this document.
10. References 10. References
10.1. Normative References 10.1. Normative References
[ITU.Q931.1998] [ITU.Q931.1998]
, "Digital Subscriber Signalling System No. 1 (DSS 1) - "Digital Subscriber Signalling System No. 1 (DSS 1) - ISDN
ISDN User - Network Interface Layer 3 Specification for User - Network Interface Layer 3 Specification for Basic
Basic Call Control", ISO Standard 9594-1, May 1998. Call Control", ISO Standard 9594-1, May 1998.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, June with Session Description Protocol (SDP)", RFC 3264, June
2002. 2002.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC
3966, December 2004. 3966, December 2004.
skipping to change at page 35, line 6 skipping to change at page 36, line 20
May 2008. May 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
10.2. Informative References 10.2. Informative References
[I-D.ietf-cuss-sip-uui] [I-D.ietf-cuss-sip-uui]
Johnston, A. and J. Rafferty, "A Mechanism for Johnston, A. and J. Rafferty, "A Mechanism for
Transporting User to User Call Control Information in Transporting User to User Call Control Information in
SIP", draft-ietf-cuss-sip-uui-10 (work in progress), April SIP", draft-ietf-cuss-sip-uui-11 (work in progress),
2013. October 2013.
[ITU.E164.1991] [ITU.E164.1991]
International Telecommunications Union, "The International International Telecommunications Union, "The International
Public Telecommunication Numbering Plan", ITU-T Public Telecommunication Numbering Plan", ITU-T
Recommendation E.164, 1991. Recommendation E.164, 1991.
[ITU.Q23.1988] [ITU.Q23.1988]
International Telecommunications Union, "Technical International Telecommunications Union, "Technical
features of push-button telephone sets ", ITU-T Technical features of push-button telephone sets", ITU-T Technical
Recommendation Q.23, 1988. Recommendation Q.23, 1988.
[RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the [RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the
Session Description Protocol (SDP) for ATM Bearer Session Description Protocol (SDP) for ATM Bearer
Connections", RFC 3108, May 2001. Connections", RFC 3108, May 2001.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
skipping to change at page 35, line 49 skipping to change at page 37, line 14
[RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. [RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G.
Camarillo, "Best Current Practices for Third Party Call Camarillo, "Best Current Practices for Third Party Call
Control (3pcc) in the Session Initiation Protocol (SIP)", Control (3pcc) in the Session Initiation Protocol (SIP)",
BCP 85, RFC 3725, April 2004. BCP 85, RFC 3725, April 2004.
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message [RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message
Session Relay Protocol (MSRP)", RFC 4975, September 2007. Session Relay Protocol (MSRP)", RFC 4975, September 2007.
[TS.24.008] [TS.24.008]
3GPP , "Mobile radio interface Layer 3 specification; Core 3GPP, "Mobile radio interface Layer 3 specification; Core
network protocols; Stage 3 ", 3GPP TS 24.008 3.20.0, network protocols; Stage 3", 3GPP TS 24.008 3.20.0,
December 2005. December 2005.
10.3. URIs
[1] http://www.iana.org/assignments/sdp-parameters
[2] http://www.iana.org/assignments/sdp-parameters
[3] http://www.iana.org/assignments/sdp-parameters
Authors' Addresses Authors' Addresses
Miguel A. Garcia-Martin Miguel A. Garcia-Martin
Ericsson Ericsson
Calle Via de los Poblados 13 Calle Via de los Poblados 13
Madrid, ES 28033 Madrid, ES 28033
Spain Spain
Email: miguel.a.garcia@ericsson.com Email: miguel.a.garcia@ericsson.com
 End of changes. 58 change blocks. 
215 lines changed or deleted 284 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/