draft-ietf-mmusic-sdp-cs-23.txt   rfc7195.txt 
MMUSIC WG M. Garcia-Martin Internet Engineering Task Force (IETF) M. Garcia-Martin
Internet-Draft Ericsson Request for Comments: 7195 Ericsson
Intended status: Standards Track S. Veikkolainen Category: Standards Track S. Veikkolainen
Expires: August 15, 2014 Nokia ISSN: 2070-1721 Nokia
February 11, 2014 May 2014
Session Description Protocol (SDP) Extension For Setting Audio and Video Session Description Protocol (SDP) Extension for
Media Streams Over Circuit-Switched Bearers In The Public Switched Setting Audio and Video Media Streams over Circuit-Switched Bearers in
Telephone Network (PSTN) the Public Switched Telephone Network (PSTN)
draft-ietf-mmusic-sdp-cs-23
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
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on August 15, 2014. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7195.
Copyright Notice Copyright Notice
Copyright (c) 2014 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 . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Requirements ....................................................5
4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 5 4. Overview of Operation ...........................................5
4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 6 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
5.2.3.1. The "cs-correlation" attribute . . . . . . . . . 11 Bearer with SDP ....................................10
5.2.3.2. Caller-ID Correlation Mechanism . . . . . . . . . 12 5.2.3.1. The "cs-correlation" Attribute ............11
5.2.3.3. User-User Information Element Correlation 5.2.3.2. Caller ID Correlation Mechanism ...........12
Mechanism . . . . . . . . . . . . . . . . . . . . 13 5.2.3.3. User-User Information Element
5.2.3.4. DTMF Correlation Mechanism . . . . . . . . . . . 14 Correlation Mechanism .....................13
5.2.3.5. The external correlation mechanism . . . . . . . 15 5.2.3.4. DTMF Correlation Mechanism ................14
5.2.3.6. Extensions to correlation mechanisms . . . . . . 16 5.2.3.5. External Correlation Mechanism ............15
5.3. Negotiating the correlation mechanisms . . . . . . . . . 16 5.2.3.6. Extensions to Correlation Mechanisms ......16
5.3.1. Determining the Direction of the Circuit-Switched 5.3. Negotiating the Correlation Mechanisms ....................17
Bearer Setup . . . . . . . . . . . . . . . . . . . . 17 5.3.1. Determining the Direction of the
5.3.2. Populating the cs-correlation attribute . . . . . . . 17 Circuit-Switched Bearer Setup ......................17
5.3.3. Considerations on correlations . . . . . . . . . . . 18 5.3.2. Populating the "cs-correlation" Attribute ..........18
5.4. Considerations for Usage of Existing SDP . . . . . . . . 19 5.3.3. Considerations for Correlations ....................18
5.4.1. Originator of the Session . . . . . . . . . . . . . . 19 5.4. Considerations for Usage of Existing SDP ..................19
5.4.2. Contact information . . . . . . . . . . . . . . . . . 19 5.4.1. Originator of the Session ..........................19
5.5. Considerations for Usage of Third Party Call Control 5.4.2. Contact Information ................................20
(3PCC) . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.5. Considerations for Usage of Third Party Call
5.6. Offer/Answer mode extensions . . . . . . . . . . . . . . 20 Control (3PCC) ............................................20
5.6.1. Generating the Initial Offer . . . . . . . . . . . . 20 5.6. Offer/Answer Mode Extensions ..............................20
5.6.2. Generating the Answer . . . . . . . . . . . . . . . . 23 5.6.1. Generating the Initial Offer .......................21
5.6.3. Offerer processing the Answer . . . . . . . . . . . . 25 5.6.2. Generating the Answer ..............................23
5.6.4. Modifying the session . . . . . . . . . . . . . . . . 27 5.6.3. Offerer Processing the Answer ......................26
5.7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 28 5.6.4. Modifying the Session ..............................27
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.7. Formal Syntax .............................................28
6.1. Single PSTN audio stream . . . . . . . . . . . . . . . . 30 6. Examples .......................................................30
6.2. Advanced SDP example: Circuit-Switched Audio and 6.1. Single PSTN Audio Stream ..................................30
Video Streams . . . . . . . . . . . . . . . . . . . . . . 32 6.2. Advanced SDP Example: Circuit-Switched Audio and
7. Security Considerations . . . . . . . . . . . . . . . . . . . 33 Video Streams .............................................32
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 7. Security Considerations ........................................33
8.1. Registration of new cs-correlation SDP attribute . . . . 34 8. IANA Considerations ............................................35
8.2. Registration of a new "nettype" value . . . . . . . . . . 35 8.1. Registration of the New "cs-correlation" SDP Attribute ....35
8.3. Registration of new "addrtype" value . . . . . . . . . . 35 8.2. Registration of a New "nettype" Value .....................36
8.4. Registration of a new "proto" value . . . . . . . . . . . 35 8.3. Registration of a New "addrtype" Value ....................36
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36 8.4. Registration of a New "proto" Value .......................36
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 36 9. Acknowledgments ................................................37
10.1. Normative References . . . . . . . . . . . . . . . . . . 36 10. References ....................................................37
10.2. Informative References . . . . . . . . . . . . . . . . . 37 10.1. Normative References .....................................37
10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 38 10.2. Informative References ...................................38
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38
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"
[RFC3551]. [RFC3551].
However, SDP can be used to describe other media transport protocols However, SDP can be used to describe media transport protocols other
than RTP. Previous work includes SDP conventions for describing ATM than RTP. Previous work includes SDP conventions for describing ATM
bearer connections [RFC3108] and the Message Session Relay Protocol bearer connections [RFC3108] and the Message Session Relay Protocol
[RFC4975]. [RFC4975].
SDP is commonly carried in Session Initiation Protocol (SIP) SDP is commonly carried in Session Initiation Protocol (SIP)
[RFC3261] messages in order to agree on a common media description [RFC3261] messages in order to agree on a common media description
among the endpoints. An Offer/Answer Model with Session Description among the endpoints. "An Offer/Answer Model with the Session
Protocol (SDP) [RFC3264] defines a framework by which two endpoints Description Protocol (SDP)" [RFC3264] defines a framework by which
can exchange SDP media descriptions and come to an agreement as to two endpoints can exchange SDP media descriptions and come to an
which media streams should be used, along with the media related agreement as to which media streams should be used, along with the
parameters. media-related parameters.
In some scenarios it might be desirable to establish the media stream In some scenarios, it might be desirable to establish the media
over a circuit-switched bearer connection even if the signaling for stream over a circuit-switched bearer connection even if the
the session is carried over an IP bearer. An example of such a signaling for the session is carried over an IP bearer. An example
scenario is illustrated with two mobile devices capable of both of such a scenario is illustrated with two mobile devices capable of
circuit-switched and packet-switched communication over a low- both circuit-switched and packet-switched communication over a low-
bandwidth radio bearer. The radio bearer may not be suitable for bandwidth radio bearer. The radio bearer may not be suitable for
carrying real-time audio or video media, and using a circuit-switched carrying real-time audio or video media, and using a circuit-switched
bearer would offer a better perceived quality of service. So, bearer would offer a better perceived quality of service. So,
according to this scenario, SDP and its higher layer session control according to this scenario, SDP and its higher-layer session control
protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are
used over regular IP connectivity, while the audio or video is used over regular IP connectivity, while the audio or video is
received through the classical circuit-switched bearer. received through the classical circuit-switched bearer.
This document addresses only the use of circuit-switched bearers in This document addresses only the use of circuit-switched bearers in
the PSTN, not a generic circuit-switched network. The mechanisms the PSTN, not a generic circuit-switched network. The mechanisms
presented below require a call signaling protocol of the PSTN to be presented below require a call signaling protocol of the PSTN to be
used (such as ITU-T Q.931 [ITU.Q931.1998] or 3GPP TS 24.008 used (such as ITU-T Q.931 [ITU.Q931.1998] or 3GPP TS 24.008
[TS.24.008]). [TS.24.008]).
Setting up a signaling relationship in the IP domain instead of just Setting up a signaling relationship in the IP domain instead of just
setting up a circuit-switched call offers also the possibility of setting up a circuit-switched call also offers the possibility of
negotiating in the same session other IP based media that is not negotiating, in the same session, other IP-based media that is not
sensitive to jitter and delay, for example, text messaging or sensitive to jitter and delay, for example, text messaging or
presence information. presence information.
At a later point in time the mobile device might move to an area 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 where a high-bandwidth packet-switched bearer, for example, a
Local Area Network (WLAN) connection, is available. At this point Wireless Local Area Network (WLAN) connection, is available. At this
the mobile device may perform a handover and move the audio or video point, the mobile device may perform a handover and move the audio or
media streams over to the high-speed bearer. This implies a new video media streams over to the high-speed bearer. This implies a
exchange of SDP Offer/Answer that leads to a re-negotiation of the new exchange of SDP offer/answer that leads to a renegotiation of the
media streams. media streams.
Other use cases exist. For example, an endpoint might have at its Other use cases exist. For example, an endpoint might have at its
disposal circuit-switched and packet-switched connectivity, but the disposal circuit-switched and packet-switched connectivity, but the
same audio or video codecs are not feasible for both access networks. same audio or video codecs are not feasible for both access networks.
For example, the circuit-switched audio or video stream supports For example, the circuit-switched audio or video stream supports
narrow-bandwidth codecs, while the packet-switched access allows any narrow-bandwidth codecs, while the packet-switched access allows any
other audio or video codec implemented in the endpoint. In this other audio or video codec implemented in the endpoint. In this
case, it might be beneficial for the endpoint to describe different case, it might be beneficial for the endpoint to describe different
codecs for each access type and get an agreement on the bearer codecs for each access type and get an agreement on the bearer
together with the remote endpoint. together with the remote endpoint.
There are additional use cases related to third party call control There are additional use cases related to third party call control
where the session setup time is improved when the circuit-switched where the session setup time is improved when the circuit-switched
bearer in the PSTN is described together with one or more codecs. 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 rest of the document is structured as follows: Section 2 provides
the document conventions, Section 3 introduces the requirements, the document conventions, Section 3 introduces the requirements,
Section 4 presents an overview of the proposed solutions, and Section 4 presents an overview of the proposed solutions, and
Section 5 contains the protocol description. Section 6 provides an Section 5 contains the protocol description. Section 6 provides
example of descriptions of circuit-switched audio or video streams in examples of circuit-switched audio or video streams in SDP. Sections
SDP. Section 7 and Section 8 contain the Security and IANA 7 and 8 contain the Security and IANA considerations, respectively.
considerations, respectively.
2. Conventions Used in This Document 2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"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
skipping to change at page 5, line 45 skipping to change at page 5, line 45
lists of audio or video codecs in the circuit-switched audio lists of audio or video codecs in the circuit-switched audio
or video stream from those used in a packet-switched audio or or video stream from those used in a packet-switched audio or
video 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 of available codecs for circuit-switched audio or video
streams. 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 [RFC4566] and allows
an audio or video media stream established over a circuit-switched describing an audio or video media stream established over a circuit-
bearer. A new network type ("PSTN") and a new protocol type ("PSTN") switched bearer. A new network type ("PSTN") and a new protocol type
are defined for the "c=" and "m=" lines to be able to describe a ("PSTN") are defined for the "c=" and "m=" lines to be able to
media stream over a circuit-switched bearer. These SDP extensions describe a media stream over a circuit-switched bearer. These SDP
are described in Section 5.2. Since circuit-switched bearers are extensions are described in Section 5.2. Since circuit-switched
connection-oriented media streams, the mechanism re-uses the bearers are connection-oriented media streams, the mechanism reuses
connection-oriented extensions defined in RFC 4145 [RFC4145] to the connection-oriented extensions defined in RFC 4145 [RFC4145] to
negotiate the active and passive sides of a connection setup. This negotiate the active and passive sides of a connection setup. This
is further described in Section 5.3.1. is further described in Section 5.3.1.
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 a
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 a PSTN circuit-
bearer available for audio. Endpoint B generates an SDP answer switched bearer available for audio. Endpoint B generates an SDP
containing a description of the audio media stream over a circuit- answer containing a description of the audio media stream over a
switched bearer. circuit-switched bearer.
During the offer-answer exchange Endpoints A and B also agree the During the offer/answer exchange, Endpoints A and B also agree upon
direction in which the circuit-switched bearer should be established. the direction in which the circuit-switched bearer should be
In this example, Endpoint B becomes the active party, in other words, established. In this example, Endpoint B becomes the active party;
it establishes the circuit-switched call to the other endpoint. The in other words, it establishes the circuit-switched call to the other
Offer/Answer exchange contains identifiers or references that can be endpoint. The offer/answer exchange contains identifiers or
used on the circuit-switched network for addressing the other references that can be used on the circuit-switched network for
endpoint, as well as information that is used to determine that the addressing the other endpoint, as well as information that is used to
incoming circuit-switched bearer establishment is related to the determine that the incoming circuit-switched bearer establishment is
ongoing session between the two endpoints. related to the ongoing session between the two endpoints.
Endpoint B establishes a circuit-switched bearer towards Endpoint A Endpoint B establishes a circuit-switched bearer towards Endpoint A
using whatever mechanisms are defined for the network type in using whatever mechanisms are defined for the network type in
question. When receiving the incoming circuit-switched connection question. When receiving the incoming circuit-switched connection
attempt, Endpoint A is able to determine that the attempt is related attempt, Endpoint A is able to determine that the attempt is related
to the session it is just establishing with B. to the session it is just establishing with B.
Endpoint A accepts the circuit-switched connection; the circuit- Endpoint A accepts the circuit-switched connection; the circuit-
switched bearer setup is completed. The two endpoints can now use switched bearer setup is completed. The two endpoints can now use
the circuit-switched connection for two-way audio media. the circuit-switched connection for two-way audio media.
If, for some reason, Endpoint B would like to reject the offered If, for some reason, Endpoint B would like to reject the offered
stream, it would set the port number of the specific stream to zero, stream, it would set the port number of the specific stream to zero,
as specified in RFC3264 [RFC3264]. Also, if B does not understand as specified in RFC 3264 [RFC3264]. Also, if B does not understand
some of the SDP attributes specified in this document, it would some of the SDP attributes specified in this document, it would
ignore them, as specified in RFC4566 [RFC4566]. ignore them, as specified in RFC 4566 [RFC4566].
5. Protocol Description 5. Protocol Description
5.1. Level of Compliance 5.1. Level of Compliance
Implementations according to this specification MUST implement the Implementations that are compliant with this specification MUST
SDP extensions described in Section 5.2, and MUST implement the implement the SDP extensions described in Section 5.2 and MUST
considerations discussed in Section 5.3, Section 5.4 and Section 5.6. implement the considerations discussed in Sections 5.3, 5.4, and 5.6.
5.2. Extensions to SDP 5.2. Extensions to SDP
This section provides the syntax and semantics of the extensions This section provides the syntax and semantics of the extensions
required for providing a description of audio or video media streams required for providing a description of audio or video media streams
over circuit-switched bearers in SDP. over circuit-switched bearers in SDP.
5.2.1. Connection Data 5.2.1. Connection Data
According to SDP [RFC4566], the connection data line in SDP has the According to SDP [RFC4566], the connection data line in SDP has the
following syntax: following syntax:
c=<nettype> <addrtype> <connection-address> c=<nettype> <addrtype> <connection-address>
where <nettype> indicates the network type, <addrtype> indicates the where <nettype> indicates the network type, <addrtype> indicates the
address type, and the <connection-address> is the connection address, address type, and <connection-address> is the connection address,
which is dependent on the address type. which is dependent on the address type.
At the moment, the only network type defined is "IN", which indicates At the moment, the only network type defined is "IN", which indicates
Internet network type. The address types "IP4" and "IP6" indicate Internet network type. The address types "IP4" and "IP6" indicate
the type of IP addresses. the type of IP addresses.
This memo defines a new network type for describing a circuit- This memo defines a new network type for describing a circuit-
switched bearer network type in the PSTN. The mnemonic "PSTN" is switched bearer network type in the PSTN. The mnemonic "PSTN" is
used for this network type. used for this network type.
For the address type, we initially consider the possibility of For the address type, we initially considered the possibility of
describing E.164 telephone numbers. We define a new "E164" address describing E.164 telephone numbers. We define a new "E164" address
type to be used within the context of a "PSTN" network type. The type to be used within the context of a "PSTN" network type. The
"E164" address type indicates that the connection address contains an "E164" address type indicates that the connection address contains an
E.164 number represented according to the ITU-T E.164 [ITU.E164.1991] E.164 number represented according to the ITU-T E.164 [ITU.E164.2010]
recommendation. recommendation.
It is a common convention that an international E.164 number contains It is a common convention that an international E.164 number contains
a leading '+' sign. For consistency's sake, we also require the a leading '+' sign. For consistency's sake, we also require the
E.164 telephone is prepended with a '+', even if that is not E.164 telephone is prepended with a '+', even if that is not
necessary for routing of the call in the PSTN network. necessary for routing of the call in the PSTN network.
There are cases, though, when the endpoint is merely aware of a There are cases, though, when the endpoint is merely aware of a
circuit-switched bearer, without having further information about the circuit-switched bearer, without having further information about the
E.164 number allocated to it. In these cases a dash ("-") is used to E.164 number allocated to it. In these cases, a dash ("-") is used
indicate an unknown connection address. This makes the connection to indicate an unknown connection address. This makes the connection
data line be according to the SDP syntax. data line consistent with SDP syntax.
Please note that the "E164" address type defined in this memo is Please note that the "E164" address type defined in this memo is
exclusively defined to be used in conjunction with the "PSTN" network exclusively defined to be used in conjunction with the "PSTN" network
type in accordance with regular Offer/Answer procedures [RFC4566]. type in accordance with regular offer/answer procedures [RFC4566].
Note: RFC 3108 [RFC3108] also defines address type "E.164". This Note: RFC 3108 [RFC3108] also defines address type "E.164". This
definition is distinct from the one defined by this memo and shall definition is distinct from the one defined by this memo and shall
not be used with <nettype> "PSTN". not be used with <nettype> "PSTN".
This memo exclusively uses the international representation of E.164 This memo exclusively uses the international representation of E.164
numbers, i.e., those including a country code and, as described above numbers, i.e., those including a country code and, as described
prepended with a '+' sign. Implementations conforming to this above, prepended with a '+' sign. Implementations conforming to this
specification and using the "E164" address type together with the specification and using the "E164" address type together with the
"PSTN" network type MUST use the 'global-number-digits' construction "PSTN" network type MUST use the 'global-number-digits' construction
specified in RFC 3966 [RFC3966] for representing international E.164 specified in RFC 3966 [RFC3966] for representing international E.164
numbers. This representation requires the presence of the '+' sign, numbers. This representation requires the presence of the '+' sign
and additionally allows for the presence of one or more 'visual- and additionally allows for the presence of one or more 'visual-
separator' constructions for easier human readability (see separator' constructions for easier human readability (see
Section 5.7). Section 5.7).
Note that <connection-address> MUST NOT be omitted when unknown since Note that <connection-address> MUST NOT be omitted when unknown since
this would violate basic syntax of SDP [RFC4566]. In such cases, it this would violate basic syntax of SDP [RFC4566]. In such cases, it
MUST be set to a "-". MUST be set to a "-".
The following are examples of the extension to the connection data The following are examples of the extension to the connection data
line: line:
skipping to change at page 9, line 13 skipping to change at page 9, line 13
c=PSTN E164 - c=PSTN E164 -
When the <addrtype> is E164, the connection address is defined as When the <addrtype> is E164, the connection address is defined as
follows: follows:
o an international E.164 number (prepended with a '+' sign) o an international E.164 number (prepended with a '+' sign)
o the value "-", signifying that the address is unknown o the value "-", signifying that the address is unknown
o any other value resulting from the production rule of connection- o any other value resulting from the production rule of connection-
address in RFC4566 [RFC4566], but in all cases any value address in RFC 4566 [RFC4566], but in all cases any value
encountered will be ignored. encountered will be ignored.
5.2.2. Media Descriptions 5.2.2. Media Descriptions
According to SDP [RFC4566], the media description line in SDP has the According to SDP [RFC4566], the media description line in SDP has the
following syntax: following syntax:
m=<media> <port> <proto> <fmt> ... m=<media> <port> <proto> <fmt> ...
The <media> subfield carries the media type. For establishing an The <media> subfield carries the media type. For establishing an
audio bearer, the existing "audio" media type is used. For audio bearer, the existing "audio" media type is used. For
establishing a video bearer, the existing "video" media type is used. establishing a video bearer, the existing "video" media type is used.
The <port> subfield is the transport port to which the media stream The <port> subfield is the transport port to which the media stream
is sent. Circuit-switched access lacks the concept of a port number, is sent. Circuit-switched access lacks the concept of a port number;
and therefore the <port> subfield does not carry any meaningful therefore, the <port> subfield does not carry any meaningful value.
value. In order to be compliant with SDP syntax, implementations In order to be compliant with SDP syntax, implementations SHOULD set
SHOULD set the <port> subfield to the discard port value "9" and MUST the <port> subfield to the discard port value "9" and MUST ignore it
ignore it on reception. on reception.
According to RFC 3264 [RFC3264], a port number of zero in the offer 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 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 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 unicast stream, it indicates that the stream is rejected. These
rules are still valid when the media line in SDP represents a rules are still valid when the media line in SDP represents a
circuit-switched bearer. circuit-switched bearer.
The <proto> subfield is the transport protocol. The circuit-switched The <proto> subfield is the transport protocol. The circuit-switched
bearer uses whatever transport protocol it has available. This bearer uses whatever transport protocol it has available. This
skipping to change at page 10, line 8 skipping to change at page 10, line 8
The <fmt> subfield is the media format description. In the classical The <fmt> subfield is the media format description. In the classical
usage of SDP to describe RTP-based media streams, when the <proto> usage of SDP to describe RTP-based media streams, when the <proto>
subfield is set to "RTP/AVP" or "RTP/SAVP", the <fmt> subfield subfield is set to "RTP/AVP" or "RTP/SAVP", the <fmt> subfield
contains the payload types as defined in the RTP audio profile contains the payload types as defined in the RTP audio profile
[RFC3551]. [RFC3551].
When "RTP/AVP" is used in the <proto> field, the <fmt> subfield When "RTP/AVP" is used in the <proto> field, the <fmt> subfield
contains the RTP payload type numbers. We use the <fmt> subfield to contains the RTP payload type numbers. We use the <fmt> subfield to
indicate the list of available codecs over the circuit-switched indicate the list of available codecs over the circuit-switched
bearer, by re-using the conventions and payload type numbers defined bearer, by reusing the conventions and payload type numbers defined
for RTP/AVP. The RTP audio and video media types, when applied to for RTP / AVP. The RTP audio and video media types, when applied to
PSTN circuit-switched bearers, represent merely an audio or video PSTN circuit-switched bearers, represent merely an audio or video
codec. If the endpoint is able to determine the list of available codec. If the endpoint is able to determine the list of available
codecs for circuit-switched media streams, it MUST use the codecs for circuit-switched media streams, it MUST use the
corresponding payload type numbers in the <fmt> subfield. corresponding payload type numbers in the <fmt> subfield.
In some cases, the endpoint is not able to determine the list of In some cases, the endpoint is not able to determine the list of
available codecs for circuit-switched media streams. In this case, available codecs for circuit-switched media streams. In this case,
in order to be syntactically compliant with SDP [RFC4566], the in order to be syntactically compliant with SDP [RFC4566], the
endpoint MUST include a single dash ("-") in the <fmt> subfield. endpoint MUST include a single dash ("-") in the <fmt> subfield.
skipping to change at page 11, line 12 skipping to change at page 11, line 12
succeed. Other correlation mechanisms may exist, and their usage succeed. Other correlation mechanisms may exist, and their usage
will be specified when need arises. will be specified when need arises.
All mechanisms share the same principle: some unique information is All mechanisms share the same principle: some unique information is
sent in the SDP and in the circuit-switched signaling protocol. If sent in the SDP and in the circuit-switched signaling protocol. If
these pieces of information match, then the circuit-switched bearer these pieces of information match, then the circuit-switched bearer
is part of the session described in the SDP exchange. Otherwise, is part of the session described in the SDP exchange. Otherwise,
there is no guarantee that the circuit-switched bearer is related to there is no guarantee that the circuit-switched bearer is related to
such session. 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 Number 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-User Information Element that is part of the
the bearer setup signaling in the PSTN. 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 Multi-Frequency (DTMF) digits that will be later represents Dual-Tone Multi-Frequency (DTMF) digits that will be later
sent right after the circuit-switched bearer is established. sent right after the circuit-switched bearer is established.
The fourth correlation mechanism declares support for cases where The fourth correlation mechanism declares support for cases where
correlation is done by external means. Typically this means that the correlation is done by external means. Typically, this means that
decision is left for the human user. This is the way how some the decision is left to the human user. This is how some current
current conferencing systems operate: after logging on to the conferencing systems operate: after logging on to the conference, the
conference, the system calls back to the user's phone number to system calls back to the user's phone number to establish audio
establish audio communications, and it is up to the human user to communications, and it is up to the human user to accept or reject
accept or reject the incoming call. By declaring explicit support the incoming call. By declaring explicit support for this mechanism,
for this mechanism endpoints can use it only when such possibility endpoints can use it only when such a possibility exists.
exist.
Endpoints may opt to implement any combination of the correlation Endpoints may opt to implement any combination of the correlation
mechanisms specified in Section 5.2.3.2, Section 5.2.3.3, mechanisms specified in Sections 5.2.3.2, 5.2.3.3, 5.2.3.4, and
Section 5.2.3.4, and Section 5.2.3.5, including an option of 5.2.3.5, including the option to implement none at all.
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". There MUST a new media-level SDP attribute called "cs-correlation". There MUST
be at most one "cs-correlation" attribute per media description. be at most one "cs-correlation" attribute per media description.
This "cs-correlation" attribute MAY contain zero or more subfields, This "cs-correlation" attribute MAY contain zero or more subfields --
either "callerid", "uuie", "dtmf", or "external" to specify "callerid", "uuie", "dtmf", or "external" to specify additional
additional information required by the Caller-ID, User to User information required by the Caller ID, User-User Information Element,
Information, DTMF, or external correlation mechanisms, respectively. DTMF, or external correlation mechanisms, respectively. The list of
The list of correlation mechanisms may be extended by other correlation mechanisms may be extended by other specifications; see
specifications, see Section 5.2.3.6 for more details. Section 5.2.3.6 for more details.
The following sections provide more detailed information of these The following sections provide more detailed information about these
subfields. subfields.
The values "callerid", "uuie", "dtmf" and "external" refer to the The values "callerid", "uuie", "dtmf", and "external" refer to the
correlation mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, correlation mechanisms defined in Sections 5.2.3.2, 5.2.3.3, 5.2.3.4,
Section 5.2.3.4 and, Section 5.2.3.5 respectively. The formal and 5.2.3.5, respectively. The formal Augmented Backus-Naur Format
Augmented Backus-Naur Format (ABNF) syntax of the "cs-correlation" (ABNF) syntax of the "cs-correlation" attribute is presented in
attribute is presented in Section 5.7. 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 mechanism 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.
Example of inclusion of an international E.164 number in the "cs- An example of inclusion of an international E.164 number in the
correlation" attribute is: "cs-correlation" attribute is:
a=cs-correlation:callerid:+441134960123 a=cs-correlation:callerid:+441134960123
The presence of the "callerid" subfield indicates that the endpoint The presence of the "callerid" subfield indicates that the endpoint
supports use of the calling party number as a means of correlating a supports use of the Calling Party Number as a means of correlating a
PSTN call with the session being negotiated. The "callerid" subfield PSTN call with the session being negotiated. The "callerid" subfield
MAY be accompanied by the international E.164 number of the party MAY be accompanied by the international E.164 number of the party
inserting the parameter. inserting the parameter.
Note that there are no guarantees that this correlation mechanism Note that there are no guarantees that this correlation mechanism
works or is even available, due a number of problems: 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 * The endpoint might not be aware of its own E.164 number, in
case it cannot populate the SDP appropriately. which case it cannot populate the SDP appropriately.
o The Calling Party Number information element in the circuit- * The Calling Party Number Information Element in the circuit-
switched signaling might not be available, e.g., due to policy switched signaling might not be available, e.g., due to policy
restrictions of the network operator or caller restriction due to restrictions of the network operator or caller restriction due
privacy. to privacy.
o The Calling Party Number information element in the circuit- * The Calling Party Number Information Element in the circuit-
switched signaling might be available, but the digit switched signaling might be available, but the digit
representation of the E.164 number might differ from the one representation of the E.164 number might differ from the one
expressed in the SDP, due to, e.g., lack of country code. To expressed in the SDP, due to, e.g., lack of country code. To
mitigate this problem implementations should consider only some of mitigate this problem, implementations should consider only
the rightmost digits from the E.164 number for correlation. For some of the rightmost digits from the E.164 number for
example, the numbers +44-113-496-0123 and 0113-496-0123 could be correlation. For example, the numbers +44-113-496-0123 and
considered as the same number. This is also the behavior of some 0113-496-0123 could be considered as the same number. This is
cellular phones, which correlate the incoming calling party with a also the behavior of some cellular phones, which correlate the
number stored in the phone book, for the purpose of displaying the incoming calling party with a number stored in the phone book,
caller's name. Please refer to ITU-T E.164 recommendation for the purpose of displaying the caller's name. Please refer
[ITU.E164.1991] for consideration of the relevant number of digits to ITU-T E.164 recommendation [ITU.E164.2010] for consideration
to consider. of the relevant number of digits to consider.
5.2.3.3. User-User Information Element Correlation Mechanism 5.2.3.3. User-User Information Element Correlation Mechanism
A second correlation mechanism is based on including in SDP a string A second correlation mechanism is based on including in SDP a string
that represents the User-User Information Element that is part of the that represents the User-User Information Element that is part of the
call setup signaling of the circuit-switched bearer. The User-User call setup signaling of the circuit-switched bearer. The User-User
Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and
3GPP TS 24.008 [TS.24.008], among others. The User-User Information 3GPP TS 24.008 [TS.24.008], among others. The User-User Information
Element has a maximum size of 35 or 131 octets, depending on the Element has a maximum size of 35 or 131 octets, depending on the
actual message of the PSTN protocol where it is included and the actual message of the PSTN protocol where it is included and the
network settings. network settings.
The mechanism works as follows: An endpoint creates a User-User The mechanism works as follows. An endpoint creates a User-User
Information Element, according to the requirements of the call setup Information Element, according to the requirements of the call setup
signaling protocol. The same value is included in the SDP offer or signaling protocol. The same value is included in the SDP offer or
SDP answer, in the "uuie" subfield of the "cs-correlation" attribute. SDP answer, in the "uuie" subfield of the "cs-correlation" attribute.
When the SDP Offer/Answer exchange is completed, each endpoint has When the SDP offer/answer exchange is completed, each endpoint has
become aware of the value that will be used in the User-User become aware of the value that will be used in the User-User
Information Element of the call setup message of the PSTN protocol. Information Element of the call setup message of the PSTN protocol.
The endpoint that initiates the call setup attempt includes this The endpoint that initiates the call setup attempt includes this
value in the User-User Information Element. The recipient of the value in the User-User Information Element. The recipient of the
call setup attempt can extract the User-User Information Element and call setup attempt can extract the User-User Information Element and
correlate it with the value previously received in the SDP. If both correlate it with the value previously received in the SDP. If both
values match, then the call setup attempt corresponds to that values match, then the call setup attempt corresponds to that
indicated in the SDP. indicated in the SDP.
According to ITU-T Q.931 [ITU.Q931.1998], the User-User Information According to ITU-T Q.931 [ITU.Q931.1998], the User-User Information
Element (UUIE) identifier is composed of a first octet identifying Element (UUIE) identifier is composed of a first octet identifying
this as a User-User Information Element, a second octet containing this as a User-User Information Element, a second octet containing
the Length of the user-user contents, a third octet containing a the length of the user-user contents, a third octet containing a
Protocol Discriminator, and a value of up to 32 or 128 octets Protocol Discriminator, and a value of up to 32 or 128 octets
(depending on network settings) containing the actual User (depending on network settings) containing the actual User
Information (see Figure 4-36 in ITU-T Q.931). The first two octets Information (see Figure 4-36 in [ITU.Q931.1998]). The first two
of the UUIE MUST NOT be used for correlation, only the octets octets of the UUIE MUST NOT be used for correlation; only the octets
carrying the Protocol Discriminator and the User Information value carrying the Protocol Discriminator and the User Information value
are input to the creation of the value of the "uuie" subfield in the are input to the creation of the value of the "uuie" subfield in the
"cs-correlation" attribute. Therefore, the value of the "uuie" "cs-correlation" attribute. Therefore, the value of the "uuie"
subfield in the "cs-correlation" attribute MUST start with the subfield in the "cs-correlation" attribute MUST start with the
Protocol Discriminator octet, followed by the User Information Protocol Discriminator octet, followed by the User Information
octets. The value of the Protocol Discriminator octet is not octets. The value of the Protocol Discriminator octet is not
specified in this document; it is expected that organizations using specified in this document; it is expected that organizations using
this technology will allocate a suitable value for the Protocol this technology will allocate a suitable value for the Protocol
Discriminator. Discriminator.
Once the binary value of the "uuie" subfield in the "cs-correlation" Once the binary value of the "uuie" subfield in the "cs-correlation"
attribute is created, it MUST be base 16 (also known as "hex") attribute is created, it MUST be base 16 (also known as "hex")
encoded before it is inserted in SDP. Please refer to RFC 4648 encoded before it is inserted in SDP. Please refer to RFC 4648
[RFC4648] for a detailed description of base 16 encoding. The [RFC4648] for a detailed description of base 16 encoding. The
resulting encoded value needs to have an even number of hexadecimal resulting encoded value needs to have an even number of hexadecimal
digits, and MUST be considered invalid if it has an odd number. digits and MUST be considered invalid if it has an odd number.
Note that the encoding of the "uuie" subfield of the "cs- Note: The encoding of the "uuie" subfield of the "cs-correlation"
correlation" attribute is largely inspired by the encoding of the attribute is largely inspired by the encoding of the same value in
same value in the User-to-User header field in SIP, according to the User-to-User header field in SIP, according to "A Mechanism
the document "A Mechanism for Transporting User to User Call for Transporting User to User Call Control Information in SIP"
Control Information in SIP" [I-D.ietf-cuss-sip-uui]. [SIP-UUI].
As an example, an endpoint willing to send a UUIE containing a As an example, an endpoint willing to send a UUIE containing a
protocol discriminator with the hexadecimal value of %x56 and an Protocol Discriminator with the hexadecimal value of %x56 and an
hexadecimal User Information value of %xA390F3D2B7310023 would hexadecimal User Information value of %xA390F3D2B7310023 would
include a "cs-correlation" attribute line as follows: include an "a=cs-correlation" attribute line as follows:
a=cs-correlation:uuie:56A390F3D2B7310023 a=cs-correlation:uuie:56A390F3D2B7310023
Note that the value of the User-User Information Element is Note that the value of the User-User Information Element is
considered as an opaque string and only used for correlation considered as an opaque string and only used for correlation
purposes. Typically call signaling protocols impose requirements on purposes. Typically, call signaling protocols impose requirements on
the creation of User-User Information Element for end-user protocol the creation of a User-User Information Element for end-user protocol
exchange. The details regarding the generation of the User-User exchange. The details regarding the generation of the User-User
Information Element are outside the scope of this specification. Information Element are outside the scope of this specification.
Please note that there are no guarantees that this correlation Please note that there are no guarantees that this correlation
mechanism works. On one side, policy restrictions might not make the mechanism works. On one side, policy restrictions might not make the
User-User information available end to end in the PSTN. On the other User-User information available end to end in the PSTN. On the other
hand, the generation of the User-User Information Element is hand, the generation of the User-User Information Element is
controlled by the PSTN circuit-switched call protocol, which might controlled by the PSTN circuit-switched call protocol, which might
not offer enough freedom for generating different values from one not offer enough freedom for generating different values from one
endpoint to another one, or from one call to another in the same 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 endpoint. This might result in the same value of the User-User
Information Element for all calls. Information Element for all calls.
5.2.3.4. DTMF Correlation Mechanism 5.2.3.4. DTMF Correlation Mechanism
We introduce a third mechanism for correlating the circuit-switched We introduce a third mechanism for correlating the circuit-switched
bearer with the session described with SDP. This is based on bearer with the session described with SDP. This is based on
agreeing on a sequence of digits that are negotiated in the SDP Offer agreeing on a sequence of digits that are negotiated in the SDP
/Answer exchange and sent as Dual-Tone Multi-Frequency (DTMF) ITU-T offer/answer exchange and sent as DTMF tones as described in ITU-T
Recommendation Q.23 [ITU.Q23.1988] tones over the circuit-switched Recommendation Q.23 [ITU.Q23.1988] over the circuit-switched bearer
bearer once this bearer is established. If the DTMF digit sequence once this bearer is established. If the DTMF digit sequence received
received through the circuit-switched bearer matches the digit string through the circuit-switched bearer matches the digit string
negotiated in the SDP, the circuit-switched bearer is correlated with negotiated in the SDP, the circuit-switched bearer is correlated with
the session described in the SDP. The mechanism is similar to many the session described in the SDP. The mechanism is similar to many
voice conferencing systems which require the user to enter a PIN code voice conferencing systems that require the user to enter a PIN code
using DTMF tones in order to be accepted in a voice conference. using DTMF tones in order to be accepted in a voice conference.
The mechanism works as follows: An endpoint selects a DTMF digit The mechanism works as follows. An endpoint selects a DTMF digit
sequence. The same sequence is included in the SDP offer or SDP sequence. The same sequence is included in the SDP offer or SDP
answer, in a "dtmf" subfield of the "cs-correlation" attribute. When answer, in a "dtmf" subfield of the "cs-correlation" attribute. When
the SDP Offer/Answer exchange is completed, each endpoint has become the SDP offer/answer exchange is completed, each endpoint has become
aware of the DTMF sequence that will be sent right after the circuit- aware of the DTMF sequence that will be sent right after the circuit-
switched bearer is set up. The endpoint that initiates the call switched bearer is set up. The endpoint that initiates the call
setup attempt sends the DTMF digits according to the procedures setup attempt sends the DTMF digits according to the procedures
defined for the circuit-switched bearer technology used. The defined for the circuit-switched bearer technology used. The
recipient (passive side of the bearer setup) of the call setup recipient (passive side of the bearer setup) of the call setup
attempt collects the digits and compares them with the value attempt collects the digits and compares them with the value
previously received in the SDP. If the digits match, then the call previously received in the SDP. If the digits match, then the call
setup attempt corresponds to that indicated in the SDP. setup attempt corresponds to that indicated in the SDP.
Implementations are advised to select a number of DTMF digits that Note: Implementations are advised to select a number of DTMF
provide enough assurance that the call is related, but on the digits that provide enough assurance that the call is related but
other hand do not prolong the bearer setup time unnecessarily. A do not prolong the bearer setup time unnecessarily. A number of 5
number of 5 to 10 digits is a good compromise. to 10 digits is a good compromise.
As an example, an endpoint willing to send DTMF tone sequence "14D*3" As an example, an endpoint willing to send DTMF tone sequence "14D*3"
would include a "cs-correlation" attribute line as follows: would include an "a=cs-correlation" attribute line as follows:
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. The external correlation mechanism 5.2.3.5. External Correlation Mechanism
The fourth correlation mechanism relies on external means for The fourth correlation mechanism relies on external means for
correlating the incoming call to the session. Since endpoints can correlating the incoming call to the session. Since endpoints can
select which correlation mechanisms they support, it may happen that select which correlation mechanisms they support, it may happen that
no other common correlation mechanism is found, or that the selected no other common correlation mechanism is found or that the selected
correlation mechanism does not succeed due to the required feature correlation mechanism does not succeed due to the required feature
not being supported by the underlying PSTN network. In these cases, not being supported by the underlying PSTN network. In these cases,
the human user can do the decision of accepting or rejecting the the human user can make the decision to accept or reject the incoming
incoming call, thus "correlating" the call with the session. Since call, thus "correlating" the call with the session. Since not all
not all endpoints are operated by a human user, or if there is no endpoints are operated by a human user and since there may be no
other external means implemented by the endpoint for the correlation other external means implemented by the endpoint for the correlation
function, we explicitly define support for such external correlation function, we explicitly define support for such an external
mechanism. correlation mechanism.
Endpoints wishing to use this external correlation mechanism would Endpoints wishing to use this external correlation mechanism would
use a subfield "external" in the "a=cs-correlation" attribute. use the "external" subfield in the "cs-correlation" attribute.
Unlike the three other correlation mechanism, the "external" subfield Unlike the other three correlation mechanisms, the "external"
does not accept a value. An example of a "a=cs-correlation" subfield does not accept a value. The following is an example of an
attribute line would look like this: "a=cs-correlation" attribute line:
a=cs-correlation:external a=cs-correlation:external
Endpoints which are willing to only use the three explicit Endpoints that are willing to only use the three explicit correlation
correlation mechanisms defined in this document ("callerid", "uuie", mechanisms defined in this document ("callerid", "uuie", and/or
and/or "dtmf") would not include the "external" mechanism in the "dtmf") would not include the "external" mechanism in the
Offer/Answer exchange. offer/answer exchange.
The external correlation mechanism typically relies on the human user The external correlation mechanism typically relies on the human user
to do the decision on whether the call is related to the ongoing to make the decision on whether or not the call is related to the
session or not. After the user accepts the call, that bearer is ongoing session. After the user accepts the call, that bearer is
considered as related to the session. There is a small chance that considered as related to the session. There is a small chance that
the user receives at the same time another circuit-switched call the user receives at the same time another circuit-switched call that
which is not related to the ongoing session. The user may reject is not related to the ongoing session. The user may reject this call
this call if he is able to determine (e.g. based on the calling line if he is able to determine (e.g., based on the calling line
identification) that the call is not related to the session, and identification) that the call is not related to the session and
continue waiting for another call attempt. If the user accepts the continue waiting for another call attempt. If the user accepts the
incoming circuit-switched call, but it turns out to be not related to incoming circuit-switched call, but it turns out to be not related to
the session, the endpoints need to rely on the human user to take the session, the endpoints need to rely on the human user to take
appropriate action (typically, they would hang up). appropriate action (typically, the user would hang up).
5.2.3.6. Extensions to correlation mechanisms 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 the SDP offer/answer mechanism is used to negotiate the use of the
values, taking into account how endpoints determine which side will new values, taking into account how endpoints determine which side
become active or passive (see Section 5.3 for more details). will 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 four correlation mechanisms presented above (based on called The four correlation mechanisms presented above (based on Called
party number, User-User Information Element, DTMF digit sending, and Party Number, User-User Information Element, DTMF digit sending, and
external) are non-exclusive, and can be used independently of each external) are non-exclusive and can be used independently of each
other. In order to know how to populate the "cs-correlation" other. In order to know how to populate the "cs-correlation"
attribute, the endpoints need to agree which endpoint will become the attribute, the endpoints need to agree which endpoint will become the
active party, i.e., the one that will set up the circuit-switched active party, i.e., the one that will set up the circuit-switched
bearer. 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
/Answer exchange. offer/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
TCP connection. While RFC 4145 [RFC4145] was originally designed for TCP connection. While RFC 4145 [RFC4145] was originally designed for
establishing TCP connections, it can be easily extrapolated to the establishing TCP connections, it can be easily extrapolated to the
connection establishment of circuit-switched bearers. This connection establishment of circuit-switched bearers. This
specification uses the concepts specified in RFC 4145 [RFC4145] for specification uses the concepts specified in RFC 4145 [RFC4145] for
agreeing on the direction of establishment of a circuit-switched agreeing on the direction of establishment of a circuit-switched
bearer. bearer.
RFC 4145 [RFC4145] defines two new attributes in SDP: "setup" and RFC 4145 [RFC4145] defines two new attributes in SDP: "setup" and
"connection". The "setup" attribute indicates which of the endpoints "connection". The "setup" attribute indicates which of the endpoints
should initiate the connection establishment of the PSTN circuit- should initiate the connection establishment of the PSTN circuit-
switched bearer. Four values are defined in Section 4 of RFC 4145 switched bearer. Four values are defined in Section 4 of RFC 4145
[RFC4145]: "active", "passive", "actpass", "holdconn". Please refer [RFC4145]: "active", "passive", "actpass", and "holdconn". Please
to Section 4 of RFC 4145 [RFC4145] for a detailed description of this refer to Section 4 of RFC 4145 [RFC4145] for a detailed description
attribute. of this attribute.
The "connection" attribute indicates whether a new connection is The "connection" attribute indicates whether a new connection is
needed or an existing connection is reused. The attribute can take needed or an existing connection is reused. The attribute can take
the values "new" or "existing". Please refer to Section 5 of RFC the values "new" or "existing". Please refer to Section 5 of RFC
4145 [RFC4145] for a detailed description of this attribute. 4145 [RFC4145] for a detailed description of this attribute.
Implementations according to this specification MUST support the Implementations that are compliant with this specification MUST
"setup" and "connection" attributes specified in RFC 4145 [RFC4145], support the "setup" and "connection" attributes specified in RFC 4145
but applied to circuit-switched bearers in the PSTN. [RFC4145], but applied to circuit-switched bearers in the PSTN.
We define the active party as the one that initiates the circuit- We define the active party as the one that initiates the circuit-
switched bearer after the Offer/Answer exchange. The passive party switched bearer after the offer/answer exchange. The passive party
is the one receiving the circuit-switched bearer. Either party may is the one receiving the circuit-switched bearer. Either party may
indicate its desire to become the active or passive party during the indicate its desire to become the active or passive party during the
Offer/Answer exchange using the procedures described in Section 5.6. offer/answer exchange using the procedures described in Section 5.6.
5.3.2. Populating the cs-correlation attribute 5.3.2. Populating the "cs-correlation" Attribute
By defining values for the subfields in the "a=cs-correlation" By defining values for the subfields in the "cs-correlation"
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, in the User-User Information Element, or as DTMF tones during
circuit-switched bearer setup. the 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- o 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 "cs-correlation" attribute and MUST also specify
specify values for the "callerid", "uuie" and "dtmf" subfields. values for the "callerid", "uuie", and "dtmf" subfields. Notice
Notice that the "external" subfield does not accept a value. that the "external" subfield does not accept a value.
An endpoint that can only become the passive party in the circuit- o 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 "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 o 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
correlation" attribute, and MUST also specify values for the "cs-correlation" attribute and MUST also specify values for the
"callerid", "uuie" and "dtmf" subfields. Notice that the "callerid", "uuie", and "dtmf" subfields. Notice that the
"external" subfield does not accept a value. "external" subfield does not accept a value.
5.3.3. Considerations on correlations 5.3.3. Considerations for Correlations
Passive endpoints should expect an incoming CS call for setting up Passive endpoints should expect an incoming circuit-switched (CS)
the audio bearer. Passive endpoints MAY suppress the incoming CS call for setting up the audio bearer. Passive endpoints MAY suppress
alert during a certain time periods. Additional restrictions can be the incoming CS alert during certain time periods. Additional
applied, such as the passive endpoint not alerting incoming calls restrictions can be applied, such as the passive endpoint not
originated from the number that was observed during the offer/answer alerting incoming calls originated from the number that was observed
negotiation. during the offer/answer negotiation.
There may be cases when an endpoint is not willing to include one or There may be cases when an endpoint is not willing to include one or
more correlation mechanisms in the "a=cs-correlation" attribute line more correlation mechanisms in the "a=cs-correlation" attribute line
even if it supports it. For example, some correlation mechanisms can even if it supports it. For example, some correlation mechanisms can
be omitted if the endpoint is certain that the PSTN network does not be omitted if the endpoint is certain that the PSTN network does not
support carrying the correlation identifier. Also, since using the support carrying the correlation identifier. Also, since using the
DTMF based correlation mechanism requires the call to be accepted DTMF-based correlation mechanism requires the call to be accepted
before DTMF tones cane be sent, some endpoints may enforce a policy before DTMF tones can be sent, some endpoints may enforce a policy
restricting this due to for example cost associated with received restricting this due to, for example, cost associated with received
calls, making the DTMF based mechanism unusable. calls, making the DTMF-based mechanism unusable.
Note that it cannot be guaranteed that the correlation mechanisms Note that it cannot be guaranteed that the correlation mechanisms
relying on caller identification, User-User Information Element and relying on caller identification, User-User Information Element, and
DTMF sending will succeed even if the usage of those was agreed 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 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 successfully negotiating any of the "callerid", "uuie" or If, after successfully negotiating any of the "callerid", "uuie", or
"dtmf" correlation mechanisms in the SDP offer/answer exchange, an "dtmf" correlation mechanisms in the SDP offer/answer exchange, an
endpoint receives an incoming establishment of a circuit-switched endpoint receives an incoming establishment of a circuit-switched
bearer with no correlation information present, the endpoint first bearer with no correlation information present, the endpoint first
checks whether the offer/answer exchange was used to successfully checks whether or not the offer/answer exchange was also used to
negotiate also the "external" correlation mechanism. If it was, the successfully negotiate the "external" correlation mechanism. If it
endpoint should leave the decision to be made by this external means, was, the endpoint should let the decision be made by external means,
typically the human user. If the "external" correlation mechanism typically the human user. If the "external" correlation mechanism
was not successfully negotiated, the endpoint should treat the call was not successfully negotiated, the endpoint should treat the call
as unrelated to the ongoing session in the IP domain. as unrelated to the ongoing session in the IP domain.
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:
skipping to change at page 19, line 40 skipping to change at page 20, line 5
Of interest here are the <nettype> and <addrtype> fields, which Of interest here are the <nettype> and <addrtype> fields, which
indicate the type of network and type of address, respectively. indicate the type of network and type of address, respectively.
Typically, this field carries the IP address of the originator of the Typically, this field carries the IP address of the originator of the
session. Even if the SDP was used to negotiate an audio or video session. Even if the SDP was used to negotiate an audio or video
media stream transported over a circuit-switched bearer, the media stream transported over a circuit-switched bearer, the
originator is using SDP over an IP bearer. Therefore, <nettype> and originator is using SDP over an IP bearer. Therefore, <nettype> and
<addrtype> fields in the "o=" line should be populated with the IP <addrtype> fields in the "o=" line should be populated with the IP
address identifying the source of the signaling. address identifying the source of the signaling.
5.4.2. Contact information 5.4.2. Contact Information
SDP [RFC4566] defines the "p=" line which may include the phone SDP [RFC4566] defines the "p=" line, which may include the phone
number of the person responsible for the conference. Even though number of the person responsible for the conference. Even though
this line can carry a phone number, it is not suited for the purpose 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 of defining a connection address for the media. Therefore, we have
selected to define the PSTN specific connection addresses in the "c=" selected to define the PSTN-specific connection addresses in the "c="
line. line.
5.5. Considerations for Usage of Third Party Call Control (3PCC) 5.5. Considerations for Usage of Third Party Call Control (3PCC)
Best Current Practices for Third Party Call Control (3pcc) in the "Best Current Practices for Third Party Call Control (3PCC) in the
Session Initiation Protocol (SIP) [RFC3725] outlines several flows Session Initiation Protocol (SIP)" [RFC3725] outlines several flows
which are possible in third party call control scenarios and that are possible in third party call control scenarios and
recommends some flows for specific situations. recommends some flows for specific situations.
One of the assumptions in [RFC3725] is that an SDP Offer may include One of the assumptions in [RFC3725] is that an SDP offer may include
a "black hole" connection address, which has the property that a "black hole" connection address, which has the property that
packets sent to it will never leave the host which sent them. For packets sent to it will never leave the host that sent them. For
IPv4, this "black hole" connection address is 0.0.0.0, or a domain IPv4, this "black hole" connection address is 0.0.0.0 or a domain
name within the .invalid DNS top level domain. name within the .invalid DNS top level domain.
When using an E.164 address scheme in the context of third-party call When using an E.164 address scheme in the context of third party call
control, when the User Agent needs to indicate an unknown phone control, when the User Agent needs to indicate an unknown phone
number, it MUST populate the <addrtype> of the SDP "c=" line with a number, it MUST populate the <addrtype> of the SDP "c=" line with a
"-" string. "-" string.
Note that this may result in the recipient of the initial offer Note: This may result in the recipient of the initial offer
rejecting such offer if the recipient of the offer was not aware rejecting such offer if the recipient of the offer was not aware
of its own E.164 number. Consequently it will not be possible to of its own E.164 number. Consequently, it will not be possible to
establish a circuit-switched bearer, since neither party is aware establish a circuit-switched bearer, since neither party is aware
of their E.164 number. of its E.164 number.
5.6. Offer/Answer mode extensions 5.6. Offer/Answer Mode Extensions
In this section, we define extensions to the Offer/Answer model In this section, we define extensions to the offer/answer model
defined in The Offer/Answer Model in SDP [RFC3264] to allow for PSTN defined in "An Offer/Answer Model with the Session Description
addresses to be used with the Offer/Answer model. Protocol (SDP)" [RFC3264] to allow for PSTN addresses to be used with
the offer/answer model.
5.6.1. Generating the Initial Offer 5.6.1. Generating the Initial Offer
The Offerer, wishing to use PSTN audio or video stream, MUST populate The offerer, wishing to use PSTN audio or video stream, MUST populate
the "c=" and "m=" lines as follows. the "c=" and "m=" lines as follows.
The endpoint MUST set the <nettype> in the "c=" line to "PSTN", and The endpoint MUST set the <nettype> in the "c=" line to "PSTN" and
the <addrtype> to "E164". Furthermore, the endpoint SHOULD set the the <addrtype> to "E164". Furthermore, the endpoint SHOULD set the
<connection-address> field to its own international E.164 number <connection-address> field to its own international E.164 number
(with a leading "+"). If the endpoint is not aware of its own E.164 (with a leading "+"). If the endpoint is not aware of its own E.164
number, it MUST set the <connection-address> to "-". number, it MUST set the <connection-address> to "-".
In the "m=" line, the endpoint MUST set the <media> subfield to In the "m=" line, the endpoint MUST set the <media> subfield to
"audio" or "video", depending on the media type, and the <proto> "audio" or "video", depending on the media type, and the <proto>
subfield to "PSTN". The <port> subfield SHOULD be set to "9" (the subfield to "PSTN". The <port> subfield SHOULD be set to "9" (the
discard port). The values "audio" or "video" in the <media> subfield discard port). The values "audio" or "video" in the <media> subfield
MUST NOT be set by the endpoint unless it has knowledge that these MUST NOT be set by the endpoint unless it has knowledge that these
skipping to change at page 21, line 21 skipping to change at page 21, line 39
the PSTN bearer. In case the endpoint is not aware of the codecs the PSTN bearer. In case the endpoint is not aware of the codecs
available for the circuit-switched media streams, it MUST include a available for the circuit-switched media streams, it MUST include a
dash ("-") in the <fmt> subfield. dash ("-") in the <fmt> subfield.
The mapping table of static payload types numbers to payload types is The mapping table of static payload types numbers to payload types is
initially specified in [RFC3551] and maintained by IANA. For dynamic initially specified in [RFC3551] and maintained by IANA. For dynamic
payload types, the endpoint MUST define the set of valid encoding payload types, the endpoint MUST define the set of valid encoding
names and related parameters using the "a=rtpmap" attribute line. names and related parameters using the "a=rtpmap" attribute line.
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
"a=cs-correlation" in the SDP offer. The Offerer MUST NOT include "a=cs-correlation" attribute line in the SDP offer. The offerer MUST
more than one "cs-correlation" attribute per media description. The NOT include more than one "cs-correlation" attribute per media
"a=cs-correlation" line SHOULD contain an enumeration of all the description. The "a=cs-correlation" line SHOULD contain an
correlation mechanisms supported by the Offerer, in the format of enumeration of all the correlation mechanisms supported by the
subfields. See Section 5.3.3 for more information on usage of the offerer, in the format of subfields. See Section 5.3.3 for more
correlation mechanisms. information on usage of the correlation mechanisms.
The current list of subfields include "callerid", "uuie", "dtmf", and The current list of subfields include "callerid", "uuie", "dtmf", and
"extenal", and they refer to the correlation mechanisms defined in "external", and they refer to the correlation mechanisms defined in
Section 5.2.3.2, Section 5.2.3.3, Section 5.2.3.4, and Sections 5.2.3.2, 5.2.3.3, 5.2.3.4, and 5.2.3.5, respectively.
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
MUST add the "callerid", "uuie", "dtmf" and/or "extern" subfields and add the "callerid", "uuie", "dtmf", and/or "external" subfields and
MUST specify values for them as follows: 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.
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 o The endpoint MUST NOT specify any value for the "external"
value. subfield.
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
those subfields. 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, and is also able to let the human user 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 decide whether the correlation should be done or not, it includes the
following lines in the SDP: following lines in the SDP:
a=cs-correlation:uuie dtmf external 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, and is also able to let the to become the active or passive side, and is also able to let the
human user decide whether the correlation should be done or no, it human user decide whether the correlation should be done or not, it
includes the following lines in the SDP: includes the following lines in the SDP:
a=cs-correlation:uuie:56A390F3D2B7310023 dtmf:14D*3 external 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 RFC 4145 [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; the
the Answerer, taking the Offerer's willingness into consideration, 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.
By 'active' endpoint, we refer to an endpoint that will establish the By "active" endpoint, we refer to an endpoint that will establish the
circuit-switched bearer; and by 'passive' endpoint, we refer to an circuit-switched bearer; by "passive" endpoint, we refer to an
endpoint that will receive a circuit-switched bearer. endpoint that will receive a circuit-switched bearer.
If an Offerer does not know its international E.164 number, it MUST If an offerer does not know its international E.164 number, it MUST
set the 'a=setup' attribute to the value 'active'. If the Offerer set the "setup" attribute to the value "active". If the offerer
knows its international E.164 number, it SHOULD set the value to knows its international E.164 number, it SHOULD set the value to
either 'actpass' or 'passive'. either "actpass" or "passive".
Also 'holdconn' is a permissible value in the 'a=setup' attribute. Also "holdconn" is a permissible value in the "setup" attribute. It
It indicates that the connection should not be established for the indicates that the connection should not be established for the time
time being. being.
The Offerer uses the "a=connection" attribute to decide whether a new The offerer uses the "connection" attribute to decide whether a new
circuit-switched bearer is to be established or not. For the initial circuit-switched bearer is to be established or not. For the initial
Offer, the Offerer MUST use value 'new'. offer, the offerer MUST use value "new".
5.6.2. Generating the Answer 5.6.2. Generating the Answer
If the Offer contained a circuit-switched audio or video stream, the If the offer contained a circuit-switched audio or video stream, the
Answerer first determines whether it is able to accept and use such answerer first determines whether it is able to accept and use such
streams on the circuit-switched network. If the Answerer does not streams on the circuit-switched network. If the answerer does not
support or is not willing to use circuit-switched media for the support or is not willing to use circuit-switched media for the
session, it MUST construct an Answer where the port number for such session, it MUST construct an answer where the port number for such
media stream(s) is set to zero, according to Section 6 of [RFC3264]. media stream(s) is set to zero, according to Section 6 of [RFC3264].
If the Answerer is willing to use circuit-switched media for the If the answerer is willing to use circuit-switched media for the
session, it MUST ignore the received port number (unless the port session, it MUST ignore the received port number (unless the port
number is set to zero). number is set to zero).
If the Offer included a "-" as the payload type number, it indicates If the offer included a "-" as the payload type number, it indicates
that the Offerer is not willing or able to define any specific that the offerer is not willing or able to define any specific
payload type. Most often, a "-" is expected to be used instead of payload type. Most often, a "-" is expected to be used instead of
the payload type when the endpoint is not aware of or not willing to the payload type when the endpoint is not aware of or not willing to
define the codecs which will eventually be used on the circuit- define the codecs that will eventually be used on the circuit-
switched bearer. The circuit-switched signaling protocols have their switched bearer. The circuit-switched signaling protocols have their
own means of negotiating or indicating the codecs, therefore an own means of negotiating or indicating the codecs; therefore, an
Answerer SHOULD accept such Offers, and SHOULD set the payload type answerer SHOULD accept such offers and SHOULD set the payload type to
to "-" also in the Answer. "-" in the answer.
If the Answerer explicitly wants to specify a codec for the circuit- If the answerer explicitly wants to specify a codec for the circuit-
switched media, it MAY set the respective payload numbers in the switched media, it MAY set the respective payload numbers in the
<fmt> subfield in the answer. This behavior, however, is NOT <fmt> subfield in the answer. This behavior, however, is NOT
RECOMMENDED. RECOMMENDED.
When receiving the Offer, the Answerer MUST determine whether it When receiving the offer, the answerer MUST determine whether it
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 "setup" attribute in
in the Answer and set it to value "passive" or "holdconn". The the answer and set it to value "passive" or "holdconn". The answerer
Answerer MUST also include its E.164 number in the "c=" line. 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 "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, the recipient of the offer is not willing to
to establish a connection the E.164 based on a priori knowledge of establish a connection the E.164 based on a priori knowledge of cost,
cost, or other reasons, call establishment is not possible, and the 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
number to zero in the Answer. number to zero in the answer.
If the SDP in the Offer indicates that the Offerer is able to become If the SDP in the offer indicates that the offerer is able to become
either the active or passive party, the Answerer determines which either the active or passive party, the answerer determines which
role it will take. If the Offer includes an international E.164 role it will take. If the offer includes an international E.164
number in the "c=" line, the Answerer SHOULD become the active party. number in the "c=" line, the answerer SHOULD become the active party.
If the Answerer does not become the active party, and if the Answerer If the answerer does not become the active party and if the answerer
is aware of its E.164 number, it MUST become the passive party. If is aware of its E.164 number, it MUST become the passive party. If
the Answerer does not become the active or the passive party, it MUST the answerer does not become the active or the passive party, it MUST
reject the circuit-switched media by setting the port number to zero reject the circuit-switched media by setting the port number to zero
in the Answer. in the answer.
For each media description where the Offer includes a "a=cs- For each media description where the offer includes a
correlation" attribute, the Answerer MUST select from the Offer those "cs-correlation" attribute, the answerer MUST select from the offer
correlation mechanisms it supports, and include in the Answer one "a those correlation mechanisms it supports and include in the answer
=cs-correlation" attribute line containing those mechanisms it is one "a=cs-correlation" attribute line containing those mechanisms it
willing to use. The Answerer MUST only add one "a=cs-correlation" is willing to use. The answerer MUST only add one "cs-correlation"
attribute in those media descriptions where also the Offer included a attribute in those media descriptions where also the offer included a
"a=cs-correlation" attribute. The Answerer MUST NOT add any "cs-correlation" attribute. The answerer MUST NOT add any mechanisms
mechanisms which were not included in the offer. If there are more that were not included in the offer. If there is more than one
than one "cs-correlation" attributes per media description in the "cs-correlation" attribute per media description in the offer, the
Offer, the Answerer MUST discard all but the first for any media answerer MUST discard all but the first for any media description.
description. Also, the Answerer MUST discard all unknown "cs- Also, the answerer MUST discard all unknown "cs-correlation"
correlation" attribute values. attribute values.
If the Answerer becomes the active party, it MUST add a value to any If the answerer becomes the active party, it MUST add a value to any
of the possible subfields. of the possible subfields.
If the Answerer becomes the passive party, it MUST NOT add any values If the answerer becomes the passive party, it MUST NOT add any values
to the subfields in the "cs-correlation" attribute. to the subfields in the "cs-correlation" attribute.
After generating and sending the Answer, if the Answerer became the After generating and sending the answer, if the answerer became the
active party, it active party, it
o MUST extract the E.164 number from the "c=" line of the Offer and o MUST extract the E.164 number from the "c=" line of the offer and
MUST establish a circuit-switched bearer to that address. MUST establish a circuit-switched bearer to that address.
o if the SDP Answer contained a value for the "callerid" subfield, o if the SDP answer contained a value for the "callerid" subfield,
MUST set the Calling Party Number Information Element to that MUST set the Calling Party Number Information Element to that
number, number.
o if the SDP Answer contained a value for the "uuie" subfield, MUST o if the SDP answer contained a value for the "uuie" subfield, MUST
send the User-User Information element according to the rules send the User-User Information Element according to the rules
defined for the circuit-switched technology used, and set the defined for the circuit-switched technology used and set the value
value of the Information Element to that received in the SDP of the Information Element to that received in the SDP offer.
Offer,
o if the SDP Answer contained a value for the "dtmf" subfield, MUST o if the SDP answer contained a value for the "dtmf" subfield, MUST
send those DTMF digits according to the circuit-switched send those DTMF digits according to the circuit-switched
technology used. technology used.
If, on the other hand, the Answerer became the passive party, it If, on the other hand, the answerer became the passive party, it
o MUST be prepared to receive a circuit-switched bearer, o MUST be prepared to receive a circuit-switched bearer,
o if the Offer contained a value for the "callerid" subfield, MUST o if the offer contained a value for the "callerid" subfield, MUST
compare that value to the Calling Party Number Information Element compare that value to the Calling Party Number Information Element
of the circuit-switched bearer. If the received Calling Party of the circuit-switched bearer. If the received Calling Party
Number Information Element matches the value of the "callerid" Number Information Element matches the value of the "callerid"
subfield, the call SHOULD be treated as correlated to the ongoing subfield, the call SHOULD be treated as correlated to the ongoing
session. session.
o if the Offer contained a value for the "dtmf" subfield, MUST be o if the offer contained a value for the "dtmf" subfield, MUST be
prepared to receive and collect DTMF digits once the circuit- prepared to receive and collect DTMF digits once the circuit-
switched bearer is set up. The Answerer MUST compare the received switched bearer is set up. The answerer MUST compare the received
DTMF digits to the value of the "dtmf" subfield. If the received DTMF digits to the value of the "dtmf" subfield. If the received
DTMF digits match the value of the "dtmf" subfield in the "cs- DTMF digits match the value of the "dtmf" subfield in the
correlation" attribute, the call SHOULD be treated as correlated "cs-correlation" attribute, the call SHOULD be treated as
to the ongoing session. correlated 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 UUIE to the value of the "uuie" subfield. If the value
the received UUI matches the value of the "uuie" subfield, the of the received UUIE 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 o if the offer contained an "external" subfield, MUST be prepared to
receive a circuit-switched call and use the external means receive a circuit-switched call and use the external means
(typically the human user) for accepting or rejecting the call. (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 the
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
its counterpart. This is to synchronize both parties (and potential to its counterpart. This is to synchronize both parties (and
intermediaries) on the state of the session. potential intermediaries) on the state of the session.
5.6.3. Offerer processing the Answer 5.6.3. Offerer Processing the Answer
When receiving the Answer, if the SDP does not contain "a=cs- When receiving the answer, if the SDP does not contain an
correlation" attribute line, the Offerer should take that as an "a=cs-correlation" attribute line, the offerer should take that as an
indication that the other party does not support or is not willing to indication that the other party does not support or is not willing to
use the procedures defined in the document for this session, and MUST use the procedures defined in the document for this session and MUST
revert to normal processing of SDP. revert to normal processing of SDP.
When receiving the Answer, the Offerer MUST first determine whether When receiving the answer, the offerer MUST first determine whether
it becomes the active or passive party, as described in it becomes the active or passive party, as described in
Section 5.3.1. Section 5.3.1.
If the Offerer becomes the active party, it If the offerer becomes the active party, it
o MUST extract the E.164 number from the "c=" line and MUST o MUST extract the E.164 number from the "c=" line and MUST
establish a circuit-switched bearer to that address. establish a circuit-switched bearer to that address.
o if the SDP Answer contained a value for the "uuie" subfield, MUST o if the SDP answer contained a value for the "uuie" subfield, MUST
send the User-User Information element according to the rules send the User-User Information Element according to the rules
defined for the circuit-switched technology used, and set the defined for the circuit-switched technology used and set the value
value of the Information Element to that received in the SDP of the Information Element to that received in the SDP answer.
Answer,
o if the SDP Answer contained a value for the "dtmf" subfield, MUST o if the SDP answer contained a value for the "dtmf" subfield, MUST
send those DTMF digits according to the circuit-switched send those DTMF digits according to the circuit-switched
technology used. technology used.
If the Offerer becomes the passive party, it If the offerer becomes the passive party:
o MUST be prepared to receive a circuit-switched bearer, o It MUST be prepared to receive a circuit-switched bearer.
o Note that if delivery of the Answer is delayed for some reason, o Note that if delivery of the answer is delayed for some reason,
the circuit-switched call attempt may arrive at the Offerer before the circuit-switched call attempt may arrive at the offerer before
the Answer has been processed. In this case, since the the answer has been processed. In this case, since the
correlation mechanisms are negotiated as part of the Offer/Answer correlation mechanisms are negotiated as part of the offer/answer
exchange, the Answerer cannot know whether or not the incoming exchange, the answerer cannot know whether or not the incoming
circuit-switched call attempt is correlated with the session being circuit-switched call attempt is correlated with the session being
negotiated, the Offerer SHOULD answer the circuit-switched call negotiated; thus, the offerer SHOULD answer the circuit-switched
attempt only after it has received and processed the Answer. call attempt only after it has received and processed the answer.
o If the Answer contained a value for the "dtmf" subfield, the o If the answer contained a value for the "dtmf" subfield, the
Offerer MUST be prepared to receive and collect DTMF digits once offerer MUST be prepared to receive and collect DTMF digits once
the circuit-switched bearer is set up. The Offerer SHOULD compare the circuit-switched bearer is set up. The offerer SHOULD compare
the received DTMF digits to the value of the "dtmf" subfield. If the received DTMF digits to the value of the "dtmf" subfield. If
the received DTMF digits match the value of the "dtmf" subfield in the received DTMF digits match the value of the "dtmf" subfield in
the "cs-correlation" attribute, the call SHOULD be treated as the "cs-correlation" attribute, the call SHOULD be treated as
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 UUIE 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 UUIE 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 o If the answer contained an "external" subfield, the offerer MUST
prepared to receive a circuit-switched call and use the external be prepared to receive a circuit-switched call and use the
means (typically the human user) for accepting or rejecting the external means (typically, the human user) for accepting or
call. rejecting the call.
According the Offer/Answer Model with SDP [RFC3264], the Offerer According the "An Offer/Answer Model with the Session Description
needs to be ready to receive media as soon as the Offer has been Protocol (SDP)" [RFC3264], the offerer needs to be ready to receive
sent. It may happen that the Answerer, if it became the active media as soon as the offer has been sent. It may happen that the
party, will initiate a circuit-switched bearer setup which will answerer, if it became the active party, will initiate a circuit-
arrive at the Offerer before the Answer has arrived. However, the switched bearer setup that will arrive at the offerer before the
Offerer needs to receive the Answer and examine the information about answer has arrived. However, the offerer needs to receive the answer
the correlation mechanisms in order to successfully perform and examine the information about the correlation mechanisms in order
correlation of the circuit-switched call to the session. Therefore, to successfully perform correlation of the circuit-switched call to
if the Offerer receives an incoming circuit-switched call, it MUST the session. Therefore, if the offerer receives an incoming circuit-
NOT accept the call before the Answer has been received. If no switched call, it MUST NOT accept the call before the answer has been
Answer is received during an implementation specific time, the received. If no answer is received during an implementation-specific
Offerer MUST either modify the session according to [RFC3264] or time, the offerer MUST either modify the session according to
terminate it according to the session signaling procedures in [RFC3264] or terminate it according to the session signaling
question (for terminating a SIP session, see Section 15 of procedures in question (for terminating a SIP session, see Section 15
[RFC3261]). of [RFC3261]).
5.6.4. Modifying the session 5.6.4. Modifying the Session
If, at a later time, one of the parties wishes to modify the session, If, at a later time, one of the parties wishes to modify the session,
e.g., by adding new media stream, or by changing properties used on e.g., by adding a new media stream or by changing properties used on
an existing stream, it may do so via the mechanisms defined for An an existing stream, it may do so via the mechanisms defined in "An
Offer/Answer Model with SDP [RFC3264]. Offer/Answer Model with the Session Description Protocol (SDP)"
[RFC3264].
If there is an existing circuit-switched bearer between the If there is an existing circuit-switched bearer between the endpoints
endpoints, and the Offerer wants to reuse that, the Offerer MUST set and the offerer wants to reuse that, the offerer MUST set the value
the value of the "a=connection" attribute to 'existing'. of the "connection" attribute to "existing".
If either party removes the circuit-switched media from the session If either party removes the circuit-switched media from the session
(by setting the port number to zero), it MUST terminate the circuit- (by setting the port number to zero), it MUST terminate the circuit-
switched bearer using whatever mechanism is appropriate for the switched bearer using whatever mechanism is appropriate for the
technology in question. technology in question.
If either party wishes to drop and reestablish an existing call, that If either party wishes to drop and reestablish an existing call, that
party MUST first remove the circuit-switched media from the session party MUST first remove the circuit-switched media from the session
by setting the port number to zero, and then use another Offer/Answer by setting the port number to zero and then use another offer/answer
exchange where it MUST set the "a=connection" attribute to 'new'". exchange where it MUST set the "connection" attribute to "new". If
If the media types are different (for example, a different codec will the media types are different (for example, a different codec will be
be used for the circuit-switched bearer), the media descriptions for used for the circuit-switched bearer), the media descriptions for
terminating the existing bearer and the new bearer can be in the same terminating the existing bearer and the new bearer can be in the same
Offer. offer.
If either party would like to remove existing RTP based media from If either party would like to remove existing RTP-based media from
the session and replace that with a circuit-switched bearer, it would the session and replace that with a circuit-switched bearer, it would
create a new Offer to add the circuit-switched media as described in create a new offer to add the circuit-switched media as described in
Section 5.6.1 above, replacing the RTP based media description by the Section 5.6.1 above, replacing the RTP-based media description with
circuit-switched media description, as specified in RFC 3264 the circuit-switched media description, as specified in RFC 3264
[RFC3264]. [RFC3264].
Once the Offer/Answer exchange is done, but the circuit-switched Once the offer/answer exchange is done, but the circuit-switched
bearer is not yet established, there may be a period of time when no bearer is not yet established, there may be a period of time when no
media is available. Also, it may happen that correlating the media is available. Also, it may happen that correlating the
circuit-switched call fails for reasons discussed in Section 5.3.3. circuit-switched call fails for reasons discussed in Section 5.3.3.
In this case, even if the Offer/Answer exchange was successful, In this case, even if the offer/answer exchange was successful,
endpoints are not able to receive or send media. It is up to the endpoints are not able to receive or send media. It is up to the
implementation to decide the behavior in this case; if nothing else implementation to decide the behavior in this case; if nothing else
is done, the user most likely hangs up after a while if there was no is done, the user most likely hangs up after a while if there is no
other media in the session. Note that this may also happen when other media in the session. Note that this may also happen when
switching from RTP media to another RTP media (for example when switching from one RTP media to another RTP media (for example, when
firewall blocks the new media stream). firewall blocks the new media stream).
If either party would like to remove existing circuit-switched media If either party would like to remove existing circuit-switched media
from the session and replace that with RTP based media, it would from the session and replace that with RTP-based media, it would
modify the media description as per the procedures defined in RFC modify the media description as per the procedures defined in RFC
3264 [RFC3264]. The endpoint MUST then terminate the circuit- 3264 [RFC3264]. The endpoint MUST then terminate the circuit-
switched bearer using whatever mechanism is appropriate for the switched bearer using whatever mechanism is appropriate for the
technology in question. technology in question.
5.7. Formal Syntax 5.7. Formal Syntax
The following is the formal Augmented Backus-Naur Form (ABNF) The following is the formal Augmented Backus-Naur Form (ABNF)
[RFC5234] syntax that supports the extensions defined in this [RFC5234] syntax that supports the extensions defined in this
specification. The syntax is built above the SDP [RFC4566] and the specification. The syntax is built above the SDP [RFC4566] and the
tel URI [RFC3966] grammars. Implementations according to this tel URI [RFC3966] grammars. Implementations that are compliant with
specification MUST be compliant with this syntax. this specification MUST be compliant with this syntax.
Figure 2 shows the formal syntax of the extensions defined in this Figure 2 shows the formal syntax of the extensions defined in this
memo. memo.
; extension to the connection field originally specified ; extension to the connection field originally specified
; in RFC4566 ; in RFC 4566
connection-field = [%x63 "=" nettype SP addrtype SP connection-field = [%x63 "=" nettype SP addrtype SP
connection-address CRLF] connection-address CRLF]
; CRLF defined in RFC5234 ; CRLF defined in RFC 5234
;nettype and addrtype are defined in RFC 4566 ;nettype and addrtype are defined in RFC 4566
connection-address /= global-number-digits / "-" connection-address =/ global-number-digits / "-"
; global-number-digits specified in RFC3966 ; global-number-digits specified in RFC 3966
;subrules for correlation attribute ;subrules for correlation attribute
attribute /= cs-correlation-attr attribute =/ cs-correlation-attr
; attribute defined in RFC4566 ; attribute defined in RFC 4566
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 / external-mech / dtmf-mech / external-mech /
ext-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 RFC 5234
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 RFC 5234
;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" 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 RFC 4566
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 an 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. Endpoint A also includes the "external" as one the PSTN call. Endpoint A also includes "external" as one
correlation mechanism indicating that it can use the human user to correlation mechanism, indicating that it can use the human user to
perform correlation in case other mechanisms fail. 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 external 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 an SDP answer (Figure 5), describing a PSTN
media on port 9 without information on the media sub-type on the "m=" audio media on port 9 without information on the media subtype on the
line. The "c=" line contains B's international E.164 number. In the "m=" line. The "c=" line contains B's international E.164 number.
"a=setup" line Endpoint B indicates that it is willing to become the In the "a=setup" line, Endpoint B indicates that it is willing to
active endpoint when establishing the PSTN call, and it also includes become the active endpoint when establishing the PSTN call, and it
the "a=cs-correlation" attribute line containing the values it is also includes the "a=cs-correlation" attribute line containing the
going to include in the Calling Party Number and User-User IE of the values it is going to include in the Calling Party Number and User-
PSTN call establishment. Endpoint B is also able to perform User Information Element of the PSTN call establishment. Endpoint B
correlation by external means, in case other correlation mechanisms is also able to perform correlation by external means, in case other
fail. 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 external uuie:74B9027A869D7966A2 external
Figure 5: SDP Answer with circuit-switched media Figure 5: SDP Answer with Circuit-Switched Media
When Endpoint A receives the Answer, it examines that B is willing to When Endpoint A receives the answer, it examines that B is willing to
become the active endpoint when setting up the PSTN call. Endpoint A become the active endpoint when setting up the PSTN call. Endpoint 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
circuit-switched technology is available for it. The called party circuit-switched technology is available for it. The Called Party
number is set to A's number, and calling party number is set to B's Number is set to A's number, and the Calling Party Number is set to
own number. Endpoint B also sets the User-User Information Element B's own number. Endpoint B also sets the User-User Information
value to the one contained in the SDP Answer. Element value to the one contained in the SDP answer.
When Endpoint A receives the circuit-switched bearer establishment, When Endpoint A receives the circuit-switched bearer establishment,
it examines the UUIE and the calling party number, and by comparing it examines the UUIE and the Calling Party Number and, by comparing
those received during O/A exchange determines that the call is those received during the offer/answer exchange, determines that the
related to the SDP session. call is related to the SDP session.
It may also be that neither the UUIE nor the calling party number is It may also be that neither the UUIE nor the Calling Party Number is
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 Endpoint A video, but it accepts the circuit-switched audio stream. As Endpoint
indicated that it is able to become either the active or passive A 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 to RFC 4566 [RFC4566] and RFC
RFC 3264 [RFC3264]. As such, the security considerations of those 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
identifiers that are used to evaluate whether an incoming circuit- identifiers that are used to evaluate whether an incoming circuit-
switched bearer is related to an ongoing session in the IP domain. switched bearer is related to an ongoing session in the IP domain.
If an attacker replicates the correlation identifier and establishes If an attacker replicates the correlation identifier and establishes
a call within the time window the receiving endpoint is expecting a a call within the time window the receiving endpoint is expecting a
call, the attacker may be able to hijack the circuit-switched bearer. call, the attacker may be able to hijack the circuit-switched bearer.
These types of attacks are not specific to the mechanisms presented 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 this memo. For example, Caller ID spoofing is a well-known attack
in the PSTN. Users are advised to use the same caution before in the PSTN. Users are advised to use the same caution before
revealing sensitive information as they would on any other phone revealing sensitive information as they would on any other phone
call. Furthermore, users are advised that mechanisms that may be in call. Furthermore, users are advised that mechanisms that may be in
use in the IP domain for securing the media, like Secure RTP (SRTP) use in the IP domain for securing the media, like Secure RTP (SRTP)
[RFC3711], are not available in the CS domain. [RFC3711], are not available in the CS domain.
For the purposes of establishing a circuit-switched bearer, the For the purposes of establishing a circuit-switched bearer, the
active endpoint needs to know the passive endpoint's phone number. active endpoint needs to know the passive endpoint's phone number.
Phone numbers are sensitive information, and some people may choose Phone numbers are sensitive information, and some people may choose
not to reveal their phone numbers when calling using supplementary not to reveal their phone numbers when calling using supplementary
services like Calling Line Identification Restriction (CLIR) in GSM. services like Calling Line Identification Restriction (CLIR) in GSM.
Implementations should take the caller's preferences regarding Implementations should take the caller's preferences regarding
calling line identification into account if possible, by restricting calling line identification into account if possible, by restricting
the inclusion of the phone number in SDP "c=" line if the caller has the inclusion of the phone number in the SDP "c=" line if the caller
chosen to use CLIR. If this is not possible, implementations may has chosen to use CLIR. If this is not possible, implementations may
present a prompt informing the user that their phone number may be present a prompt informing the user that their phone number may be
transmitted to the other party. transmitted to the other party.
Similarly as with IP addresses, if there is a desire to protect the As with IP addresses, if there is a desire to protect the SDP
SDP containing phone numbers carried in SIP, implementers are advised containing phone numbers carried in SIP, implementers are advised to
to follow the security mechanisms defined in [RFC3261]. follow the security mechanisms defined in [RFC3261].
It is possible that an attacker creates a circuit-switched session It is possible that an attacker creates a circuit-switched session
whereby the attacked endpoint should dial a circuit-switched number, whereby the attacked endpoint should dial a circuit-switched number,
perhaps even a premium-rate telephone number. To mitigate the perhaps even a premium-rate telephone number. To mitigate the
consequences of this attack, endpoints MUST authenticate and trust consequences of this attack, endpoints MUST authenticate and trust
remote endpoints users who try to remain passive in the circuit- remote endpoints users who try to remain passive in the circuit-
switched connection establishment. It is RECOMMENDED that endpoints switched connection establishment. It is RECOMMENDED that endpoints
have local policies precluding the active establishment of circuit have local policies precluding the active establishment of circuit-
switched connections to certain numbers (e.g., international, switched connections to certain numbers (e.g., international,
premium, long distance). Additionally, it is strongly RECOMMENDED premium, and long distance). Additionally, it is strongly
that the end user is asked for consent prior to the endpoint RECOMMENDED that the end user is asked for consent prior to the
initiating a circuit-switched connection. endpoint initiating a circuit-switched connection.
8. IANA Considerations 8. IANA Considerations
This document instructs IANA to register a number of SDP tokens IANA has registered a number of SDP tokens according to the following
according to the following data. data.
8.1. Registration of new cs-correlation SDP attribute 8.1. Registration of the New "cs-correlation" SDP Attribute
Contact: Miguel Garcia <miguel.a.garcia@ericsson.com> Contact: Miguel Garcia <miguel.a.garcia@ericsson.com>
Attribute name: cs-correlation Attribute name: cs-correlation
Long-form attribute name: PSTN Correlation Identifier Long-form attribute name: PSTN Correlation Identifier
Type of attribute: media level only Type of attribute: media level only
Subject to charset: No Subject to charset: No
Description: This attribute provides the Correlation Identifier Description: This attribute provides the Correlation Identifier
used in PSTN signaling used in PSTN signaling
Appropriate values:see Section 5.2.3.1 Appropriate values: see Section 5.2.3.1
Specification: RFC XXXX Specification: RFC 7195
The IANA is requested to create a subregistry for 'cs-correlation' The IANA has created a subregistry for the "cs-correlation" attribute
attribute under the Session Description Protocol (SDP) Parameters under the "Session Description Protocol (SDP) Parameters" registry.
registry. The initial values for the subregistry are presented in The initial values for the subregistry are presented in the
the following, and IANA is requested to add them into its database: following; IANA has registered these values accordingly:
Value of 'cs-correlation' attribute Reference Description Value of "cs-correlation" attribute Reference Description
----------------------------------- --------- ----------- ----------------------------------- --------- -------------------
callerid RFC XXXX Caller ID callerid RFC 7195 Caller ID
uuie RFC XXXX User-User uuie RFC 7195 User-User
Information Element Information Element
dtmf RFC XXXX Dual-tone dtmf RFC 7195 Dual-Tone
Multi-Frequency Multi-Frequency
external RFC XXXX External external RFC 7195 External
Note for the RFC Editor: 'RFC XXXX' above should be replaced by a
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 the "cs-correlation" attribute 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" IANA has registered a new "nettype" in the "Session Description
in the Session Description Protocol Parameters registry [1]. The Protocol (SDP) Parameters" registry [IANA]. The registration data,
registration data, according to RFC 4566 [RFC4566] follows. according to RFC 4566 [RFC4566], is as follows.
Type SDP Name Reference Type SDP Name Reference
---- ------------------ --------- -------------- ------------------ ---------
nettype PSTN [RFCxxxx] nettype PSTN RFC 7195
8.3. Registration of new "addrtype" value 8.3. Registration of a New "addrtype" Value
This memo provides instructions to IANA to register a new "addrtype" IANA has registered a new "addrtype" in the "Session Description
in the Session Description Protocol Parameters registry [2]. The Protocol (SDP) Parameters" registry [IANA]. The registration data,
registration data, according to RFC 4566 [RFC4566] follows. according to RFC 4566 [RFC4566], is as follows.
Type SDP Name Reference Type SDP Name Reference
---- ------------------ --------- -------------- ------------------ ---------
addrtype E164 [RFCxxxx] addrtype E164 RFC 7195
Note: RFC XXXX defines the "E164" addrtype in the context of the Note: This document defines the "E164" addrtype in the context of the
"PSTN" nettype only. Please refer to the relevant RFC for a "PSTN" nettype only. RFC 3108 [RFC3108] also defines address type
description of that representation. "E.164". This definition is distinct from the one defined by this
memo and shall not be used with <nettype> "PSTN".
8.4. Registration of a new "proto" value 8.4. Registration of a New "proto" Value
This memo provides instructions to IANA to register a new "proto" in IANA has registered a new "proto" in the "Session Description
the Session Description Protocol Parameters registry [3]. The Protocol (SDP) Parameters" registry [IANA]. The registration data,
registration data, according to RFC 4566 [RFC4566] follows. according to RFC 4566 [RFC4566], is as follows.
Type SDP Name Reference Type SDP Name Reference
-------------- --------------------------- --------- -------------- ------------------ ---------
proto PSTN [RFCxxxx] proto PSTN RFC 7195
The related "fmt" namespace re-uses the conventions and payload type The related "fmt" namespace reuses the conventions and payload type
number defined for RTP/AVP. In RFC XXXX, the RTP audio and video number defined for RTP/AVP. In this document, the RTP audio and
media types, when applied to PSTN circuit-switched bearers, represent video media types, when applied to PSTN circuit-switched bearers,
merely an audio or video codec in its native format directly on top represent merely an audio or video codec in its native format
of a single PSTN bearer. directly on top of a single PSTN bearer.
In come cases, the endpoint is not able to determine the list of In some cases, the endpoint is not able to determine the list of
available codecs for circuit-switched media streams. In this case, available codecs for circuit-switched media streams. In this case,
in order to be syntactically compliant with SDP [RFC4566], the in order to be syntactically compliant with SDP [RFC4566], the
endpoint MUST include a single dash ("-") in the <fmt> subfield. endpoint MUST include a single dash ("-") in the <fmt> subfield.
9. Acknowledgments 9. Acknowledgments
The authors want to thank Paul Kyzivat, Flemming Andreasen, Thomas The authors want to thank Paul Kyzivat, Flemming Andreasen, Thomas
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) - ISDN International Telecommunications Union, "Digital
User - Network Interface Layer 3 Specification for Basic Subscriber Signalling System No. 1 - ISDN User-Network
Call Control", ISO Standard 9594-1, May 1998. Interface Layer 3 Specification for Basic Call Control",
ITU-T Recommendation Q931, 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.
[RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in
the Session Description Protocol (SDP)", RFC 4145, the Session Description Protocol (SDP)", RFC 4145,
September 2005. September 2005.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 4648, October 2006. Encodings", RFC 4648, October 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226, IANA Considerations Section in RFCs", BCP 26, RFC 5226,
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] [IANA] IANA, "Session Description Protocol (SDP) Parameters
Johnston, A. and J. Rafferty, "A Mechanism for Registry", <http://www.iana.org/assignments/
Transporting User to User Call Control Information in sdp-parameters>.
SIP", draft-ietf-cuss-sip-uui-12 (work in progress),
January 2014.
[ITU.E164.1991] [ITU.E164.2010]
International Telecommunications Union, "The International International Telecommunications Union, "The
Public Telecommunication Numbering Plan", ITU-T International Public Telecommunication Numbering Plan",
Recommendation E.164, 1991. ITU-T Recommendation E.164, 2010.
[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
Session Description Protocol (SDP) for ATM Bearer
Connections", RFC 3108, May 2001.
[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 [RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the
Video Conferences with Minimal Control", STD 65, RFC 3551, Session Description Protocol (SDP) for ATM Bearer
July 2003. Connections", RFC 3108, May 2001.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
Norrman, "The Secure Real-time Transport Protocol (SRTP)", A., Peterson, J., Sparks, R., Handley, M., and E.
RFC 3711, March 2004. Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
[RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Camarillo, "Best Current Practices for Third Party Call Jacobson, "RTP: A Transport Protocol for Real-Time
Control (3pcc) in the Session Initiation Protocol (SIP)", Applications", STD 64, RFC 3550, July 2003.
BCP 85, RFC 3725, April 2004.
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Session Relay Protocol (MSRP)", RFC 4975, September 2007. Video Conferences with Minimal Control", STD 65, RFC
3551, July 2003.
[TS.24.008] [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
3GPP, "Mobile radio interface Layer 3 specification; Core Norrman, "The Secure Real-time Transport Protocol
network protocols; Stage 3", 3GPP TS 24.008 3.20.0, (SRTP)", RFC 3711, March 2004.
December 2005.
10.3. URIs [RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G.
Camarillo, "Best Current Practices for Third Party Call
Control (3pcc) in the Session Initiation Protocol (SIP)",
BCP 85, RFC 3725, April 2004.
[1] http://www.iana.org/assignments/sdp-parameters [RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message
Session Relay Protocol (MSRP)", RFC 4975, September 2007.
[2] http://www.iana.org/assignments/sdp-parameters [SIP-UUI] Johnston, A. and J. Rafferty, "A Mechanism for
Transporting User to User Call Control Information in
SIP", Work in Progress, April 2014.
[3] http://www.iana.org/assignments/sdp-parameters [TS.24.008] 3GPP, "Mobile radio interface Layer 3 specification; Core
network protocols; Stage 3", 3GPP TS 24.008 3.20.0,
December 2005.
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
Simo Veikkolainen Simo Veikkolainen
Nokia Nokia
P.O. Box 226 P.O. Box 226
NOKIA GROUP, FI 00045 NOKIA GROUP, FI 00045
Finland Finland
Phone: +358 50 486 4463 Phone: +358 50 486 4463
Email: simo.veikkolainen@nokia.com EMail: simo.veikkolainen@nokia.com
 End of changes. 280 change blocks. 
722 lines changed or deleted 706 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/