draft-ietf-mmusic-sdp-cs-05.txt   draft-ietf-mmusic-sdp-cs-06.txt 
MMUSIC WG M. Garcia-Martin MMUSIC WG M. Garcia-Martin
Internet-Draft Ericsson Internet-Draft Ericsson
Intended status: Standards Track S. Veikkolainen Intended status: Standards Track S. Veikkolainen
Expires: April 11, 2011 Nokia Expires: August 22, 2011 Nokia
October 08, 2010 February 18, 2011
Session Description Protocol (SDP) Extension For Setting Up Audio and Session Description Protocol (SDP) Extension For Setting Up Audio and
Video Media Streams Over Circuit-Switched Bearers In The Public Video Media Streams Over Circuit-Switched Bearers In The Public
Switched Telephone Network (PSTN) Switched Telephone Network (PSTN)
draft-ietf-mmusic-sdp-cs-05 draft-ietf-mmusic-sdp-cs-06
Abstract Abstract
This memo describes use cases, requirements, and protocol extensions This memo describes use cases, requirements, and protocol extensions
for using the Session Description Protocol (SDP) Offer/Answer model for using the Session Description Protocol (SDP) Offer/Answer model
for establishing audio and video media streams over circuit-switched for establishing audio and video media streams over circuit-switched
bearers in the Public Switched Telephone Network (PSTN). bearers in the Public Switched Telephone Network (PSTN).
Status of this Memo Status of this Memo
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 11, 2011. This Internet-Draft will expire on August 22, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2011 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
skipping to change at page 3, line 24 skipping to change at page 3, line 24
5.2. Extensions to SDP . . . . . . . . . . . . . . . . . . . . 8 5.2. Extensions to SDP . . . . . . . . . . . . . . . . . . . . 8
5.2.1. Connection Data . . . . . . . . . . . . . . . . . . . 8 5.2.1. Connection Data . . . . . . . . . . . . . . . . . . . 8
5.2.2. Media Descriptions . . . . . . . . . . . . . . . . . . 9 5.2.2. Media Descriptions . . . . . . . . . . . . . . . . . . 9
5.2.3. Correlating the PSTN Circuit-Switched Bearer with 5.2.3. Correlating the PSTN Circuit-Switched Bearer with
SDP . . . . . . . . . . . . . . . . . . . . . . . . . 10 SDP . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.2.3.1. The "cs-correlation" attribute . . . . . . . . . . 11 5.2.3.1. The "cs-correlation" attribute . . . . . . . . . . 11
5.2.3.2. Caller-ID Correlation Mechanism . . . . . . . . . 11 5.2.3.2. Caller-ID Correlation Mechanism . . . . . . . . . 11
5.2.3.3. User-User Information Element Correlation 5.2.3.3. User-User Information Element Correlation
Mechanism . . . . . . . . . . . . . . . . . . . . 12 Mechanism . . . . . . . . . . . . . . . . . . . . 12
5.2.3.4. DTMF Correlation Mechanism . . . . . . . . . . . . 13 5.2.3.4. DTMF Correlation Mechanism . . . . . . . . . . . . 13
5.2.3.5. Negotiating the used correlation mechanisms . . . 15 5.3. Negotiating the correlation mechanisms . . . . . . . . . . 14
5.3. Considerations for Usage of Existing SDP . . . . . . . . . 17 5.3.1. Determining the Direction of the Circuit-Switched
5.3.1. Originator of the Session . . . . . . . . . . . . . . 17 Connection Setup . . . . . . . . . . . . . . . . . . . 14
5.3.2. Contact information . . . . . . . . . . . . . . . . . 17 5.3.2. Offerer behaviour . . . . . . . . . . . . . . . . . . 16
5.3.3. Determining the Direction of the Circuit-Switched 5.3.3. Answerer behaviour . . . . . . . . . . . . . . . . . . 17
Connection Setup . . . . . . . . . . . . . . . . . . . 17 5.3.4. Considerations on successful correlation . . . . . . . 19
5.4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 18 5.4. Considerations for Usage of Existing SDP . . . . . . . . . 19
6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.4.1. Originator of the Session . . . . . . . . . . . . . . 19
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 5.4.2. Contact information . . . . . . . . . . . . . . . . . 20
7.1. Registration of new correlation SDP attribute . . . . . . 21 5.5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 20
7.2. Registration of a new "nettype" value . . . . . . . . . . 21 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.3. Registration of new "addrtype" values . . . . . . . . . . 21 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
7.4. Registration of a new "proto" value . . . . . . . . . . . 21 7.1. Registration of new correlation SDP attribute . . . . . . 22
8. Security Considerations . . . . . . . . . . . . . . . . . . . 22 7.2. Registration of a new "nettype" value . . . . . . . . . . 23
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 7.3. Registration of new "addrtype" values . . . . . . . . . . 23
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.4. Registration of a new "proto" value . . . . . . . . . . . 23
10.1. Normative References . . . . . . . . . . . . . . . . . . . 22 8. Security Considerations . . . . . . . . . . . . . . . . . . . 23
10.2. Informative References . . . . . . . . . . . . . . . . . . 23 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.1. Normative References . . . . . . . . . . . . . . . . . . . 24
10.2. Informative References . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction 1. Introduction
The Session Description Protocol (SDP) [RFC4566] is intended for The Session Description Protocol (SDP) [RFC4566] is intended for
describing multimedia sessions for the purposes of session describing multimedia sessions for the purposes of session
announcement, session invitation, and other forms of multimedia announcement, session invitation, and other forms of multimedia
session initiation. SDP is most commonly used for describing media session initiation. SDP is most commonly used for describing media
streams that are transported over the Real-Time Transport Protocol streams that are transported over the Real-Time Transport Protocol
(RTP) [RFC3550], using the profiles for audio and video media defined (RTP) [RFC3550], using the profiles for audio and video media defined
in RTP Profile for Audio and Video Conferences with Minimal Control in RTP Profile for Audio and Video Conferences with Minimal Control
skipping to change at page 4, line 36 skipping to change at page 4, line 36
which media streams should be used, along with the media related which media streams should be used, along with the media related
parameters. parameters.
In some scenarios it might be desirable to establish the media stream In some scenarios it might be desirable to establish the media stream
over a circuit-switched bearer connection even if the signaling for over a circuit-switched bearer connection even if the signaling for
the session is carried over an IP bearer. An example of such a the session is carried over an IP bearer. An example of such a
scenario is illustrated with two mobile devices capable of both scenario is illustrated with two mobile devices capable of both
circuit-switched and packet-switched communication over a low- 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, however, a better perceived quality of service. bearer would offer a better perceived quality of service. So,
So, according to this scenario, SDP and its higher layer session according to this scenario, SDP and its higher layer session control
control protocol (e.g., the Session Initiation Protocol (SIP) protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are
[RFC3261]) are used over regular IP connectivity, while the audio or used over regular IP connectivity, while the audio or video is
video is received through the classical circuit-switched bearer. received through the classical circuit-switched bearer.
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 offers also 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 Wireless
Local Area Network (WLAN) connection, is available. At this point Local Area Network (WLAN) connection, is available. At this point
the mobile device may perform a handover and move the audio or video the mobile device may perform a handover and move the audio or video
media streams over to the high-speed bearer. This implies a new media streams over to the high-speed bearer. This implies a new
exchange of SDP Offer/Answer that lead to a re-negotiation of the exchange of SDP Offer/Answer that lead to a re-negotiation of the
media streams. media streams.
Other use cases exist. For example, and endpoint might have at its Other use cases exist. For example, and endpoint might have at its
disposal circuit-switch and packet-switched connectivity, but the disposal circuit-switched and packet-switched connectivity, but the
audio or video codecs are not the same in both access networks. same audio or video codecs are not feasible for both access networks.
Consider that 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.
skipping to change at page 5, line 40 skipping to change at page 5, line 40
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119 document are to be interpreted as described in BCP 14, RFC 2119
[RFC2119] and indicate requirement levels for compliant [RFC2119] and indicate requirement levels for compliant
implementations. implementations.
3. Requirements 3. Requirements
This section presents the general requirements that are specific for This section presents the general requirements that are specific for
the audio or video media stream over circuit-switched bearers. the audio or video media streams over circuit-switched bearers.
REQ-1: A mechanism for endpoints to negotiate and agree on an audio REQ-1: A mechanism for endpoints to negotiate and agree on an audio
or video media stream established over a circuit-switched or video media stream established over a circuit-switched
bearer MUST be available. bearer MUST be available.
REQ-2: The mechanism MUST allow the endpoints to combine circuit- REQ-2: The mechanism MUST allow the endpoints to combine circuit-
switched audio or video media streams with other switched audio or video media streams with other
complementary media streams, for example, text messaging. complementary media streams, for example, text messaging.
REQ-3: The mechanism MUST allow the endpoint to negotiate the REQ-3: The mechanism MUST allow the endpoint to negotiate the
skipping to change at page 6, line 38 skipping to change at page 6, line 38
4. Overview of Operation 4. Overview of Operation
The mechanism defined in this memo extends SDP and allows describing The mechanism defined in this memo extends SDP and allows describing
an audio or video media stream established over a circuit-switched an audio or video media stream established over a circuit-switched
bearer. New tokens are registered in the "c=" and "m=" lines to be bearer. New tokens are registered in the "c=" and "m=" lines to be
able to describe a media stream over a circuit-switched bearer. able to describe a media stream over a circuit-switched bearer.
These SDP extensions are described in Section 5.2. Since circuit- These SDP extensions are described in Section 5.2. Since circuit-
switched bearers are connection-oriented media streams, the mechanism switched bearers are connection-oriented media streams, the mechanism
re-uses the connection-oriented extensions defined in RFC 4145 re-uses the connection-oriented extensions defined in RFC 4145
[RFC4145] to negotiate the active and passive sides of a connection [RFC4145] to negotiate the active and passive sides of a connection
setup. This is further described in Section 5.3.3. setup. This 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, Alice Consider the example presented in Figure 1. In this example, Alice
is located in an environment where she has access to both IP and is located in an environment where she has access to both IP and
circuit-switched bearers for communicating with other endpoints. circuit-switched bearers for communicating with other endpoints.
Alice decides that the circuit-switched bearer offers a better Alice decides that the circuit-switched bearer offers a better
perceived quality of service for voice, and issues an SDP Offer perceived quality of service for voice, and issues an SDP Offer
containing the description of an audio media stream over circuit- containing the description of an audio media stream over circuit-
switched bearer. switched bearer.
skipping to change at page 7, line 29 skipping to change at page 7, line 29
Figure 1: Example Flow Figure 1: Example Flow
Bob receives the SDP offer and determines that he is located in an Bob receives the SDP offer and determines that he is located in an
environment where the IP based bearer is not suitable for real-time environment where the IP based bearer is not suitable for real-time
audio media. However he also has PSTN circuit-switched bearer audio media. However he also has PSTN circuit-switched bearer
available for audio. Bob generates an SDP answer containing a available for audio. Bob generates an SDP answer containing a
description of the audio media stream over a circuit-switched bearer. description of the audio media stream over a circuit-switched bearer.
During the offer-answer exchange Alice and Bob also agree the During the offer-answer exchange Alice and Bob also agree the
direction in which the circuit-switched connection should be direction in which the circuit-switched connection should be
established. The exchange contains identifiers or references that established. In this example, Bob becomes the active party, in other
can be used on the circuit-switched network for addressing the other words, he establishes the circuit-switched call to the other
endpoint, as well as identifying that the incoming circuit-switched endpoint. The Offer/Answer exchange contains identifiers or
bearer establishment is related to the ongoing session between Alice references that can be used on the circuit-switched network for
and Bob. addressing the other endpoint, as well as information that is used to
determine that the incoming circuit-switched bearer establishment is
related to the ongoing session between Alice and Bob.
Bob establishes a circuit-switched bearer towards Alice using Bob establishes a circuit-switched bearer towards Alice using
whatever mechanisms are defined for the network type in question. whatever mechanisms are defined for the network type in question.
When receiving the incoming circuit-switched connection attempt, When receiving the incoming circuit-switched connection attempt,
Alice is able to determine that the attempt is related to the session Alice is able to determine that the attempt is related to the session
she is just establishing with Bob. she is just establishing with Bob.
Alice accepts the circuit-switched connection; the circuit-switched Alice accepts the circuit-switched connection; the circuit-switched
bearer setup is completed. Bob and Alice can now use the circuit- bearer setup is completed. Bob and Alice can now use the circuit-
switched connection for two-way audio media. switched connection for two-way audio media.
skipping to change at page 8, line 11 skipping to change at page 8, line 11
specified in RFC3264 [RFC3264]. Also, if Bob does not understand specified in RFC3264 [RFC3264]. Also, if Bob does not understand
some of the SDP attributes specified in this document, he would some of the SDP attributes specified in this document, he would
ignore them, as specified in RFC4566 [RFC4566]. ignore them, as specified in RFC4566 [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 according to this specification MUST implement the
SDP extensions described in Section 5.2, and MUST implement the SDP extensions described in Section 5.2, and MUST implement the
considerations discussed in Section 5.3. considerations discussed in Section 5.3 and Section 5.4.
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
skipping to change at page 9, line 50 skipping to change at page 9, line 50
This subfield SHOULD be set to the mnemonic "PSTN" to be This subfield SHOULD be set to the mnemonic "PSTN" to be
syntactically correct with SDP [RFC4566] and to indicate the usage of syntactically correct with SDP [RFC4566] and to indicate the usage of
circuit-switched protocols in the PSTN. circuit-switched protocols in the PSTN.
The <fmt> sub-field is the media format description. In the The <fmt> sub-field is the media format description. In the
classical usage of SDP to describe RTP-based media streams, when the classical usage of SDP to describe RTP-based media streams, when the
<proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub- <proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub-
field contains the payload types as defined in the RTP audio profile field contains the payload types as defined in the RTP audio profile
[RFC3551]. [RFC3551].
In the case of circuit-switched descriptions, RTP is not really used. When "RTP/AVP" is used in the <proto> field, the <fmt> sub-field
Rather than specifying the RTP audio/video profile payload type, we contains the RTP payload type numbers. We use the <fmt> sub-field to
use the <fmt> sub-field to indicate the list of available media types indicate the list of available codecs over the circuit-switched
over the circuit-switched bearer. Therefore, the <fmt> sub-field MAY bearer, by re-using the conventions and payload type numbers defined
indicate one or more available audio or video codecs for a circuit- for RTP/AVP. The RTP audio and video media types, which, when
switched audio or video stream. We use the classical RTP audio and applied to PSTN circuit-switched bearers, represent merely an audio
video media types, even when applied to PSTN circuit-switched or video codec.
bearers, the media type merely represents an audio or video codec.
However, in some cases, the endpoint is not able to determine the In some cases, the endpoint is not able to determine the list of
list of available codecs for circuit-switched media streams. In this available codecs for circuit-switched media streams. In this case,
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> sub-field. endpoint MUST include a single dash "-" in the <fmt> sub-field.
As per RFC 4566 [RFC4566], the media format descriptions are listed As per RFC 4566 [RFC4566], the media format descriptions are listed
in priority order. in priority order.
Example of a media description for circuit-switched audio streams is: Examples of media descriptions for circuit-switched audio streams
are:
m=audio 9 PSTN 3 0 8 m=audio 9 PSTN 3 0 8
m=audio 9 PSTN - m=audio 9 PSTN -
Similarly, an example of a media description for circuit-switched Similarly, an example of a media description for circuit-switched
video stream is: video stream is:
m=video 9 PSTN 34 m=video 9 PSTN 34
m=video 9 PSTN - m=video 9 PSTN -
5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP
The endpoints should be able to correlate the circuit-switched bearer The endpoints should be able to correlate the circuit-switched bearer
with the session negotiated with SDP to avoid ringing for an incoming with the session negotiated with SDP in order to avoid ringing for an
circuit-switched bearer that is related to the session controlled incoming circuit-switched bearer that is related to the session
with SDP (and SIP). controlled with SDP (and SIP).
Several alternatives exist for performing this correlation. This Several alternatives exist for performing this correlation. This
memo provides three mutually non-exclusive correlation mechanisms. memo provides three mutually non-exclusive correlation mechanisms.
Other correlation mechanisms might exist as well, and their usage Other correlation mechanisms may exist, and their usage will be
will be specified when need arises. All mechanisms share the same specified when need arises. All mechanisms share the same principle:
principles: some unique information is sent in the SDP and in the some unique information is sent in the SDP and in the circuit-
circuit-switched signaling protocol. If these pieces of information switched signaling protocol. If these pieces of information match,
match, then the circuit-switched bearer is part of the session then the circuit-switched bearer is part of the session described in
described in the SDP exchange. Otherwise, there is no guarantee that the SDP exchange. Otherwise, there is no guarantee that the circuit-
the circuit-switched bearer is related to such session. switched bearer is related to such session.
The first mechanism is based on the exchange of PSTN caller-ID The first mechanism is based on the exchange of PSTN caller-ID
between the endpoints. The caller-ID is also available as the between the endpoints. The caller-ID is also available as the
Calling Party ID in the circuit-switched signaling. Calling Party ID in the circuit-switched signaling.
The second mechanism is based on the inclusion in SDP of a value that The second mechanism is based on the inclusion in SDP of a value that
is also sent in the User-to-User Information Element that is part of is also sent in the User-to-User Information Element that is part of
the bearer setup signaling in the PSTN. the bearer setup signaling in the PSTN.
The third mechanism is based on sending in SDP a string that The third mechanism is based on sending in SDP a string that
represents Dual Tone MultiFrequency (DTMF) digits that will be later represents Dual Tone MultiFrequency (DTMF) digits that will be later
sent right after the circuit-switched bearer is established. sent right after the circuit-switched bearer is established.
Implementations MAY use any of these mechanisms and MAY use two or Implementations MAY use any of these mechanisms and MAY use two or
more mechanisms simultaneously. more mechanisms simultaneously.
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 SDP attribute called "cs-correlation". This "cs-correlation" a new SDP attribute called "cs-correlation". This "cs-correlation"
attribute can include any of the "callerid", "uuie", or "dtmf" attribute can include any of the "callerid", "uuie", or "dtmf" sub-
parameters, which specify additional information required by the fields, which specify additional information required by the
Caller-ID, User to User Information, or DTMF correlation mechanisms, Caller-ID, User to User Information, or DTMF correlation mechanisms,
respectively. The list of correlation mechanisms may be extended by respectively. The list of correlation mechanisms may be extended by
other specifications. other specifications.
The following sections provide more detailed information of these The following sections provide more detailed information of these
parameters. The "cs-correlation" attribute has the following format: subfields. The "cs-correlation" attribute has the following format:
a=cs-correlation: callerid:<callerid-value> | a=cs-correlation: callerid:<callerid-value> |
iuie:<uuie-value> | uuie:<uuie-value> |
dtmf:<dtmf-value> | dtmf:<dtmf-value> |
[extension-name:<extension-value>] [extension-name:<extension-value>]
The values "callerid", "uuie" and "dtmf" refer to the correlation The values "callerid", "uuie" and "dtmf" refer to the correlation
mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and
Section 5.2.3.4, respectively. The formal Augmented Backus-Naur Section 5.2.3.4, respectively. The formal Augmented Backus-Naur
Format (ABNF) syntax of the "cs-correlation" attribute is presented Format (ABNF) syntax of the "cs-correlation" attribute is presented
in Section 5.4. in Section 5.5.
5.2.3.2. Caller-ID Correlation Mechanism 5.2.3.2. Caller-ID Correlation Mechanism
The Caller-ID correlation mechanisms consists of an exchange of the The Caller-ID correlation mechanisms consists of an exchange of the
calling party number in E.164 format in SDP, followed by the calling party number in E.164 format in SDP, followed by the
availability of the Calling Party Number information element in the availability of the Calling Party Number information element in the
call setup signaling of the circuit switched connection. If both call setup signaling of the circuit switched connection. If both
pieces of information match, the circuit-switched bearer is pieces of information match, the circuit-switched bearer is
correlated to the session described in SDP. correlated to the session described in SDP.
An endpoint that is feasible to become the active party for setting
up the circuit-switched bearer and is willing to send the Calling
Party Number in the PSTN signaling SHOULD add a "callerid" parameter
in the "cs-correlation" attribute of the SDP offer or answer, and
SHOULD include as the value the E.164 number that will be presented
in the Calling Party Number in the PSTN signaling.
An endpoint that acts as the passive party for setting up the
circuit-switch bearer SHOULD add a "callerid" parameter in the "cs-
correlation" attribute of the SDP if it supports the mechanism, and
MAY include the E.164 number that will be presented in the circuit-
switched bearer in the same corresponding lines, although these are
not used for correlation.
Example of inclusion of E.164 number in the "cs-correlation" Example of inclusion of E.164 number in the "cs-correlation"
attribute is: attribute is:
a=cs-correlation:callerid:+15551234 a=cs-correlation:callerid:+15551234
Please note that there are no warranties that this correlation The presence of the "callerid" sub-field indicates that the endpoint
mechanism works or is even available, due a number of problems: supports use of the calling party number as a means of correlating a
PSTN call with the session being negotiated. The "callerid" sub-
field MAY be accompanied by the E.164 number of the party inserting
the parameter. For details on negotiating the correlation
mechanisms, see Section 5.3.
o The endpoint might not be aware of its own E.164 number, in which Note that there are no warranties that this correlation mechanism
case it cannot populate the SDP appropriately. works or is even available, due a number of problems:
o The Calling Party Number information element in the circuit- * The endpoint might not be aware of its own E.164 number, in
switched signaling might not be available, e.g., due to policy which case it cannot populate the SDP appropriately.
restrictions of the network operator or caller restriction due 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 not be available, e.g., due to policy
representation of the E.164 number might differ from the one restrictions of the network operator or caller restriction due
expressed in the SDP. For example, one can be represented in to privacy.
international format and the other might only contain the
significant national digits. To mitigate this problem * The Calling Party Number information element in the circuit-
implementations should consider only some of the rightmost digits switched signaling might be available, but the digit
from the E.164 number for correlation. For example, the numbers representation of the E.164 number might differ from the one
+358-1-555-12345 and 01-555-12345 could be considered as the same expressed in the SDP. For example, one can be represented in
number. This is also the behavior of some cellular phones, which international format and the other might only contain the
correlate the incoming calling party with a number stored in the significant national digits. To mitigate this problem
phone book, for the purpose of displaying the caller's name. implementations should consider only some of the rightmost
digits from the E.164 number for correlation. For example, the
numbers +358-1-555-12345 and 01-555-12345 could be considered
as the same number. This is also the behavior of some cellular
phones, which correlate the incoming calling party with a
number stored in the phone book, for the purpose of displaying
the caller's name.
5.2.3.3. User-User Information Element Correlation Mechanism 5.2.3.3. User-User Information Element Correlation Mechanism
A second correlation mechanism is based on indicating 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 [3GPP.24.008], among others. The User-User 3GPP TS 24.008 [3GPP.24.008], among others. The User-User
Information Element has a maximum size of 35 or 131 octets, depending Information Element has a maximum size of 35 or 131 octets, depending
on the actual message of the PSTN protocol where it is included. on the actual message of the PSTN protocol where it is included.
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
skipping to change at page 13, line 26 skipping to change at page 13, line 23
call setup attempt corresponds to that indicated in the SDP. call setup attempt corresponds to that indicated in the SDP.
Note that, for correlation purposes, the value of the User-User Note that, for correlation purposes, the value of the User-User
Information Element is considered as a opaque string and only used Information Element is considered as a opaque string and only used
for correlation purposes. Typically call signaling protocols impose for correlation purposes. Typically call signaling protocols impose
requirements on the creation of User-User Information Element for requirements on the creation of User-User Information Element for
end-user protocol exchange. The details regarding the generation of end-user protocol exchange. The details regarding the generation of
the User-User Information Element are outside the scope of this the User-User Information Element are outside the scope of this
specification. specification.
An endpoint that is feasible to become the active party for setting
up the PSTN call and is willing to send the User-User Information
Element in the PSTN signaling SHOULD add a "uuie" parameter in the
"cs-correlation" attribute of the SDP offer or answer. This "uuie"
parameter SHOULD include the value of the User-User Information
Element that will be used in the call setup attempt.
An endpoint that takes the role of the passive party for setting up
the circuit-switched bearer SHOULD include include a "uuie" parameter
in the "cs-correlation" attribute in the SDP, if it supports the UUI
mechanism. It MAY also add a value for the "uuie" parameter although
it is not used for correlation purposes.
Please note that there are no warranties that this correlation Please note that there are no warranties 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 controlled 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 agreeing on a sequence of digits that are negotiated in the SDP
Offer/Answer exchange and sent as Dual Tone Multifrequency (DTMF) Offer/Answer exchange and sent as Dual Tone Multifrequency (DTMF)
tones over the circuit-switched bearer once this bearer is tones over the circuit-switched bearer once this bearer is
established. If the DTMF digit sequence received through the established. If the DTMF digit sequence received through the
circuit-switched bearer matches the digit string negotiated in the circuit-switched bearer matches the digit string negotiated in the
SDP, the circuit-switched bearer is correlated with the session SDP, the circuit-switched bearer is correlated with the session
described in the SDP. The mechanism is similar to many voice described in the SDP. The mechanism is similar to many voice
conferencing systems which require the user to enter a PIN code using conferencing systems which require the user to enter a PIN code using
DTMF tones in order to be accepted in a voice conference. 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 "cs-correlation:dtmf" attribute. When the SDP offer/ answer, in a "cs-correlation:dtmf" attribute. When the SDP Offer/
answer exchange is completed, each endpoint has become aware of the Answer exchange is completed, each endpoint has become aware of the
DTMF sequence that will be sent right after the circuit-switched DTMF sequence that will be sent right after the circuit-switched
bearer is set up. The endpoint that initiates the call setup attempt bearer is set up. The endpoint that initiates the call setup attempt
sends the DTMF digits according to the procedures defined for the sends the DTMF digits according to the procedures defined for the
circuit-switched bearer technology used. The recipient (passive side circuit-switched bearer technology used. The recipient (passive side
of the bearer setup) of the call setup attempt collects the digits of the bearer setup) of the call setup attempt collects the digits
and compares them with the value previously received in the SDP. If and compares them with the value previously received in the SDP. If
the digits match, then the call setup attempt corresponds to that the digits match, then the call setup attempt corresponds to that
indicated in the SDP. indicated in the SDP.
An endpoint that is feasible to become the active party for setting
up the PSTN call and is willing to send the DTMF digits after
circuit-switched bearer cut-through SHOULD include a "dtmf" parameter
in the "cs-correlation" attribute of the SDP offer or answer. The
value of the "dtmf" parameter SHOULD contain up to 32 randomly
selected DTMF digits (numbers 0-9, characters A-D, "#" and "*").
Implementations are advised to select a number of DTMF digits that Implementations are advised to select a number of DTMF digits that
provide enough assurance that the call is related, but on the provide enough assurance that the call is related, but on the
other hand do not prolong the bearer setup time unnecessarily. other hand do not prolong the bearer setup time unnecessarily.
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 a "cs-correlation" attribute line as follows:
a=cs-correlation:dtmf:14D*3 a=cs-correlation:dtmf:14D*3
An endpoint that takes the role of the passive party for setting up If the endpoints successfully agree on the usage of the DTMF digit
the circuit-switched bearer SHOULD include include a "dtmf" parameter correlation mechanism, but the passive side does not receive any DTMF
in the "cs-correlation" attribute in the SDP, if it supports the digits after successful circuit-switched bearer setup, or receives a
mechanism. It MAY also add a value for the "dtmf" parameter although set of DTMF digits that do not match the value of the "dtmf"
it is not used for correlation purposes. attribute (including receving too many digits), the passive side
SHOULD treat the circuit-switched bearer as not correlated to the
Once the circuit-switched bearer is successfully set up, the active ongoing session.
side MUST send DTMF digits according to the circuit-switched bearer
technology used. The values and number of the DTMF digits MUST match
those that were agreed during SDP negotiation.
The passive side of the circuit-switched connection setup MUST be
prepared to receive and collect DTMF digits once the circuit-switched
bearer is set up. The received DTMF digits are compared to the value
of the "dtmf" parameter of the "cs-correlation" attribute that the
the active side sent during SDP offer/answer exchange. If the
received DTMF digits match the value of the "dtmf" parameter in the
"cs-correlation" attribute, the call SHOULD be treated as correlated
to the ongoing session.
If the offerer and answerer successfully agree on the usage of the
DTMF digit correlation mechanism, but the passive side does not
receive any DTMF digits after successful circuit-switched bearer
setup, or receives a set of DTMF digits that do not match the value
of the "dtmf" attribute (including receving too many digits), the
passive side SHOULD treat the circuit-switched bearer as not
correlated to the ongoing session.
DTMF digits can only be sent once the circuit-switched bearer is DTMF digits can only be sent once the circuit-switched bearer is
set up. In order to suppress alerting for an incoming circuit- set up. In order to suppress alerting for an incoming circuit-
switched call, implementations may choose various mechanisms. For switched call, implementations may choose various mechanisms. For
example, alerting may be suppressed for a certain time period for example, alerting may be suppressed for a certain time period for
incoming call attempts that originate from the number that was incoming call attempts that originate from the number that was
observed during the offer/answer negotiation. observed during the offer/answer negotiation.
5.2.3.5. Negotiating the used correlation mechanisms 5.3. Negotiating the correlation mechanisms
The three correlation mechanisms presented above (based on called The three correlation mechanisms presented above (based on called
party number, User-User Information Element and DTMF digit sending) party number, User-User Information Element and DTMF digit sending)
are non-exclusive, and can be used independently of each other. are non-exclusive, and can be used independently of each other.
In order to agree which correlation mechanisms are supported by each In order to agree which correlation mechanisms are supported and used
endpoint, we define a negotiation mechanism similar to the one by each endpoint, we define a negotiation mechanism similar to the
defined for codec negotiation. one defined for codec negotiation. The sections below describe
active/passive party determination and Offerer and Answerer behaviour
for negotiating the correlation mechanisms.
In some cases an endpoint may support the correlation mechanism, but 5.3.1. Determining the Direction of the Circuit-Switched Connection
it is not willing to become the active party in the circuit-switched Setup
bearer establishment.
If the offerer supports any of the correlation mechanisms defined in In order to avoid a situation where both endpoints attempt to
this memo, it SHOULD include an attribute line "a=cs-correlation" in initiate a connection simultaneously, the direction in which the
the SDP offer. The "a=cs-correlation" line contains an enumeration circuit-switched bearer is set up should be negotiated during the
of the correlation mechanisms supported by the offerer, in the format Offer/Answer exchange.
of parameters. The current list of parameters include "callerid",
"uuie" and "dtmf" and they refer to the correlation mechanisms
defined in Section 5.2.3.2, Section 5.2.3.3, and Section 5.2.3.4,
respectively. For example, if an endpoint is willing to use the
User-User Information element and DTMF digit sending mechanisms, it
includes the following line to the SDP:
a=cs-correlation:uuie dtmf The framework defined in RFC 4145 [RFC4145] allows the endpoints to
agree which endpoint acts as the active endpoint when initiating a
TCP connection. While RFC 4145 [RFC4145] was originally designed for
establishing TCP connections, it can be easily extrapolated to the
connection establishment of circuit-switched bearers. This
specification uses the concepts specified in RFC 4145 [RFC4145] for
agreeing on the direction of establishment of a circuit-switched
bearer.
The answerer, when generating the answer, SHOULD select those RFC 4145 [RFC4145] defines two new attributes in SDP: "setup" and
correlation mechanisms it supports, and include an "a=cs-correlation" "connection". The "setup" attribute indicates which of the endpoints
attribute line in the answer containing those mechanisms it supports. should initiate the connection establishment of the PSTN circuit-
The answerer MUST NOT add any mechanism which was not included in the switched bearer. Four values are defined in Section 4 of RFC 4145
offer. [RFC4145]: "active", "passive", "actpass", "holdconn". Please refer
to Section 4 of RFC 4145 [RFC4145] for a detailed description of this
attribute.
If the answer does not contain an "a=cs-correlation" attribute line, The "connection" attribute indicates whether a new connection is
the offerer MUST interpret this as an indication that the answerer needed or an existing connection is reused. The attribute can take
does not support any of the correlation mechanisms for this session. the values "new" or "existing". Please refer to Section 5 of RFC
4145 [RFC4145] for a detailed description of this attribute.
If, in addition to supporting any of the correlation mechanisms, an Implementations according to this specification MUST support the
endpoint is willing to assume the role of the active party in "setup" and "connection" attributes specified in RFC 4145 [RFC4145],
establishing the circuit-switched bearer, it MUST add a parameter but applied to circuit-switched bearers in the PSTN.
value to the supported mechanisms. For example, if the endpoint
supports and is willing to send the User-User Information element and We define the active party as the one that initiates the circuit-
DTMF digits, it includes the following line to the SDP offer: switched call after the Offer/Answer process. The passive party is
the one receiving the circuit-switched call. Either party may
indicate its desire to become the active or passive party during the
Offer/Answer exchange using the procedures described below.
In order to establish a circuit-switched connection in the PSTN, the
initiating endpoint needs to know the address (E.164 number) of the
other endpoint. Therefore, if an endpoint wants to be able to
receive incoming circuit-switched calls (i.e., become the passive
party), it must know its E.164 number and must indicate it in SDP.
As a consequence, an endpoint that is not aware of its own E.164
number cannot take the role of the passive side with respect the
establishment of the circuit-switched connection.
5.3.2. Offerer behaviour
When generating the Offer, If the Offerer supports any of the
correlation mechanisms defined in this memo, it SHOULD include an
attribute line "a=cs-correlation" in the SDP offer. The "a=cs-
correlation" line contains an enumeration of the correlation
mechanisms supported by the Offerer, in the format of sub-fields.
The current list of sub-fields include "callerid", "uuie" and "dtmf"
and they refer to the correlation mechanisms defined in
Section 5.2.3.2, Section 5.2.3.3, and Section 5.2.3.4, respectively.
If the Offerer is only able to become the active party (for example
because it doesn't know its E.164 address), the Offerer SHOULD add
the "callerid", "uuie", and/or "dtmf" sub-fields but MUST NOT specify
a value for those sub-fields.
If the Offerer is able to become the passive party in the circuit-
switched call setup, it SHOULD add values to all correlation
mechanisms it supports:
o the E.164 number as the value in the "callerid" sub-field,
o the contents of the User-User information element as the value of
the "uuie" sub-field, and
o the DTMF tone string as the value of the "dtmf" sub-field
For example, if the Offerer is willing to use the User-User
Information element and DTMF digit sending mechanisms, but can only
become the active party, it includes the following line to the SDP:
a=cs-correlation:uuie dtmf
If, on the other hand, the Offerer is willing to use the User-User
Information element and the DTMF correlation mechanisms, and is able
to become the passive side, it includes to following line to the SDP:
a=cs-correlation:uuie:2890W284hAT452612908awudfjang908 dtmf:14D*3 a=cs-correlation:uuie:2890W284hAT452612908awudfjang908 dtmf:14D*3
The answerer SHOULD select those correlation mechanisms it supports When receiving the Answer, if the SDP does not contain "a=cs-
and is willing to use, and include respective parameter values. If correlation" attribute line, the Offerer should take that as an
the answerer supports but is not willing to use some of the indication that the other party does not support or is not willing to
mechanisms (for example, due to not being able to become the active use the procedures defined in the document for this session, and MUST
endpoint when setting up the circuit-switched bearer), it SHOULD revert to normal processing of SDP.
include the respective parameter, but MUST NOT add a value to the
parameter. When receiving the Answer, the Offerer MUST first determine whether
it becomes the active or passive party, as described in Section
Section 5.3.1.
If the Offerer becomes the active party, it
o SHOULD extract the E.164 address from the "c=" line and SHOULD
establish a circuit-switched call to that address.
o if the SDP Answer contained a value for the "uuie" sub-field,
SHOULD send the User-User Information element according to the
rules defined for the circuit-switched technology used, and set
the value of the Information Element to that received in the SDP
Answer,
o if the SDP Answer contained a value for the "dtmf" sub-field,
SHOULD send those DTMF digits according to the circuit-switched
technology used.
If the Offerer becomes the passive party, it
o MUST be prepared to receive a circuit-switched call,
o MUST be prepared to receive and collect DTMF digits once the
circuit-switched bearer is set up. The Offerer SHOULD compare the
received DTMF digits to the value of the "dtmf" sub-field. If the
received DTMF digits match the value of the "dtmf" sub-field in
the "cs-correlation" attribute, the call SHOULD be treated as
correlated to the ongoing session.
o MUST be prepared to receive a User-User Information element once
the circuit-switched bearer is set up. The Offerer SHOULD compare
the received UUI to the value of the "uuie" sub-field. If the
value of the received UUI matches the value of the "uuie" sub-
field, the call SHOULD be treated as correlated to the ongoing
session.
5.3.3. Answerer behaviour
When receiving the Offer, the Answerer MUST first determine whether
it becomes the active or passive party, as described in Section
Section 5.3.1.
If the SDP in the Offer indicates that the Offerer is only able to
become the active party ("a=setup" line is set to "active", the
Answerer needs to determine whether it is able to become the passive
party. If this is not possible e.g. due to the Answerer not knowing
its E.164 address, the Answerer MUST NOT include "a=setup",
"a=connection" or "a=cs-correlation" attributes in the Answer.
When generating the answer, the Answerer SHOULD select those
correlation mechanisms from the Offer it supports, and include an
"a=cs-correlation" attribute line in the answer containing those
mechanisms it supports. The Answerer MUST NOT add any mechanisms
which were not included in the offer.
If the Answerer becomes the active party, it MUST NOT add parameter
values to the "callerid", "uuie" or "dtmf" sub-fields.
If the Answerer becomes the passive party, it MUST add values to the
"callerid", "uuie" and/or "dtmf" sub-fields.
After generating and sending the Answer, if the Answerer became the
active party, it
o SHOULD extract the E.164 address from the "c=" line of the Offer
and SHOULD establish a circuit-switched call to that address.
o if the SDP Offer contained a value for the "uuie" sub-field,
SHOULD send the User-User Information element according to the
rules defined for the circuit-switched technology used, and set
the value of the Information Element to that received in the SDP
Offer,
o if the SDP Offer contained a value for the "dtmf" sub-field,
SHOULD send those DTMF digits according to the circuit-switched
technology used
If, on the other hand, the Answerer became the passive party, it
MUST be prepared to receive a circuit-switched call,
MUST be prepared to receive and collect DTMF digits once the
circuit-switched bearer is set up. The Answerer SHOULD compare
the received DTMF digits to the value of the "dtmf" sub-field. If
the received DTMF digits match the value of the "dtmf" sub-field
in the "cs-correlation" attribute, the call SHOULD be treated as
correlated to the ongoing session.
MUST be prepared to receive a User-User Information element once
the circuit-switched bearer is set up. The Answerer SHOULD
compare the received UUI to the value of the "uuie" sub-field. If
the value of the received UUI matches the value of the "uuie" sub-
field, the call SHOULD be treated as correlated to the ongoing
session.
5.3.4. Considerations on successful correlation
Note that, as stated above, it cannot be guaranteed that any given Note that, as stated above, it cannot be guaranteed that any given
correlation mechanism will succeed even if the usage of those was correlation mechanism will succeed even if the usage of those was
agreed beforehand. This is due to the fact that the correlation agreed beforehand. This is due to the fact that the correlation
mechanisms require support from the circuit-switched bearer mechanisms require support from the circuit-switched bearer
technology used. 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
skipping to change at page 17, line 21 skipping to change at page 19, line 40
An endpoint may also choose to always treat an incoming call as An endpoint may also choose to always treat an incoming call as
unrelated if the signaling in the circuit-switched domain does not unrelated if the signaling in the circuit-switched domain does not
carry any correlation information. In this case, there is a chance carry any correlation information. In this case, there is a chance
that the call is erroneously treated as unrelated. that the call is erroneously treated as unrelated.
Since, in these cases, no correlation information can be deduced from Since, in these cases, no correlation information can be deduced from
the signaling, it is up to the implementation to decide how to the signaling, it is up to the implementation to decide how to
behave. One option is also to let the user decide whether to accept behave. One option is also to let the user decide whether to accept
the call as related, or to treat the call as unrelated. the call as related, or to treat the call as unrelated.
5.3. Considerations for Usage of Existing SDP 5.4. Considerations for Usage of Existing SDP
5.3.1. Originator of the Session 5.4.1. Originator of the Session
According to SDP [RFC4566], the origin line in SDP has the following According to SDP [RFC4566], the origin line in SDP has the following
syntax: syntax:
o=<username> <sess-id> <sess-version> <nettype> <addrtype> o=<username> <sess-id> <sess-version> <nettype> <addrtype>
<unicast-address> <unicast-address>
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.3.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 reponsible for the conference. Even though this number of the person reponsible for the conference. Even though this
line can carry a phone number, it is not suited for the purpose of line can carry a phone number, it is not suited for the purpose of
defining a connection address for the media. Therefore, we have 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.3.3. Determining the Direction of the Circuit-Switched Connection 5.5. Formal Syntax
Setup
Either endpoint can initiate the establishment of the circuit-
switched bearer. In order to avoid a situation where both endpoints
attempt to initiate a connection simultaneously, the direction in
which the circuit-switched bearer is set up should be negotiated
during the Offer/Answer exchange.
The framework defined in RFC 4145 [RFC4145] allows the endpoints to
agree which endpoint acts as the active endpoint when initiating a
TCP connection. While RFC 4145 [RFC4145] was originally designed for
establishing TCP connections, it is easily extrapolated to the
connection establishment of circuit-switched bearers. This
specification uses the concepts specified in RFC 4145 [RFC4145] for
agreeing on the direction of establishment of a circuit-switched
bearer.
RFC 4145 [RFC4145] defines two new attributes in SDP: "setup" and
"connection". The "setup" attribute indicates which of the endpoints
should initiate the connection establishment of the PSTN circuit-
switched bearer. Four values are defined in Section 4 of RFC 4145
[RFC4145]: "active", "passive", "actpass", "holdconn". Please refer
to Section 4 of RFC 4145 [RFC4145] for a detailed description of this
attribute.
The "connection" attribute indicates whether a new connection is
needed or an existing connection is reused. The attribute can take
the values "new" or "existing". Please refer to Section 5 of RFC
4145 [RFC4145] for a detailed description of this attribute.
Implementations according to this specification MUST support the
"setup" and "connection" attributes specified in RFC 4145 [RFC4145],
but applied to circuit-switched bearers in the PSTN.
In order to establish a circuit-switched connection in the PSTN, the
initiating endpoint needs to know the address (E.164 number) of the
other endpoint. Therefore, if an endpoint wants to be able to
receive incoming circuit-switched calls, it must know its E.164
number and must indicate it in SDP. As a consequence, an endpoint
that is not aware of its own E.164 number cannot take the role of the
passive side with respect the establishment of the circuit-switched
connection.
5.4. Formal Syntax
The following is the formal Augmented Backus-Naur Form (ABNF) 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] grammar. specification. The syntax is built above the SDP [RFC4566] grammar.
Implementations according to this specification MUST be compliant Implementations according to this specification MUST be compliant
with this syntax. 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.
 End of changes. 44 change blocks. 
239 lines changed or deleted 305 lines changed or added

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