Session Description Protocol (SDP) Extension For Setting Up Audio and Video Media Streams Over Circuit-Switched Bearers In The Public Switched Telephone Network (PSTN)
draft-ietf-mmusic-sdp-cs-09
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 7195.
|
|
|---|---|---|---|
| Authors | Miguel Angel García , Simo Veikkolainen | ||
| Last updated | 2011-10-31 (Latest revision 2011-10-13) | ||
| Replaces | draft-garcia-mmusic-sdp-cs | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Formats | |||
| Reviews |
GENART IETF Last Call review
(of
-17)
by Alexey Melnikov
Ready w/issues
|
||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | WG Document | |
| Document shepherd | Flemming Andreasen | ||
| IESG | IESG state | Became RFC 7195 (Proposed Standard) | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-mmusic-sdp-cs-09
MMUSIC WG M. Garcia-Martin
Internet-Draft Ericsson
Intended status: Standards Track S. Veikkolainen
Expires: May 3, 2012 Nokia
October 31, 2011
Session Description Protocol (SDP) Extension For Setting Up Audio and
Video Media Streams Over Circuit-Switched Bearers In The Public Switched
Telephone Network (PSTN)
draft-ietf-mmusic-sdp-cs-09
Abstract
This memo describes use cases, requirements, and protocol extensions
for using the Session Description Protocol (SDP) Offer/Answer model
for establishing audio and video media streams over circuit-switched
bearers in the Public Switched Telephone Network (PSTN).
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 3, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 1]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 2]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions Used in This Document . . . . . . . . . . . . . . 5
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 6
4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 6
5. Protocol Description . . . . . . . . . . . . . . . . . . . . . 8
5.1. Level of Compliance . . . . . . . . . . . . . . . . . . . 8
5.2. Extensions to SDP . . . . . . . . . . . . . . . . . . . . 8
5.2.1. Connection Data . . . . . . . . . . . . . . . . . . . 8
5.2.2. Media Descriptions . . . . . . . . . . . . . . . . . . 9
5.2.3. Correlating the PSTN Circuit-Switched Bearer with
SDP . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.2.3.1. The "cs-correlation" attribute . . . . . . . . . . 11
5.2.3.2. Caller-ID Correlation Mechanism . . . . . . . . . 12
5.2.3.3. User-User Information Element Correlation
Mechanism . . . . . . . . . . . . . . . . . . . . 13
5.2.3.4. DTMF Correlation Mechanism . . . . . . . . . . . . 14
5.3. Negotiating the correlation mechanisms . . . . . . . . . . 15
5.3.1. Determining the Direction of the Circuit-Switched
Bearer Setup . . . . . . . . . . . . . . . . . . . . . 15
5.3.2. Populating the cs-correlation attribute . . . . . . . 16
5.3.3. Considerations on successful correlation . . . . . . . 16
5.4. Considerations for Usage of Existing SDP . . . . . . . . . 17
5.4.1. Originator of the Session . . . . . . . . . . . . . . 17
5.4.2. Contact information . . . . . . . . . . . . . . . . . 17
5.5. Offer/Answer mode extensions . . . . . . . . . . . . . . . 18
5.5.1. Generating the Initial Offer . . . . . . . . . . . . . 18
5.5.2. Generating the Answer . . . . . . . . . . . . . . . . 20
5.5.3. Offerer processing the Answer . . . . . . . . . . . . 22
5.5.4. Modifying the session . . . . . . . . . . . . . . . . 23
5.6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 24
6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7. Security Considerations . . . . . . . . . . . . . . . . . . . 26
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27
8.1. Registration of new cs-correlation SDP attribute . . . . . 27
8.2. Registration of a new "nettype" value . . . . . . . . . . 28
8.3. Registration of new "addrtype" values . . . . . . . . . . 28
8.4. Registration of a new "proto" value . . . . . . . . . . . 28
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.1. Normative References . . . . . . . . . . . . . . . . . . . 29
10.2. Informative References . . . . . . . . . . . . . . . . . . 29
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 3]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
1. Introduction
The Session Description Protocol (SDP) [RFC4566] is intended for
describing multimedia sessions for the purposes of session
announcement, session invitation, and other forms of multimedia
session initiation. SDP is most commonly used for describing media
streams that are transported over the Real-Time Transport Protocol
(RTP) [RFC3550], using the profiles for audio and video media defined
in RTP Profile for Audio and Video Conferences with Minimal Control
[RFC3551].
However, SDP can be used to describe other transport protocols than
RTP. Previous work includes SDP conventions for describing ATM
bearer connections [RFC3108] and the Message Session Relay Protocol
[RFC4975].
SDP is commonly carried in Session Initiation Protocol (SIP)
[RFC3261] messages in order to agree on a common media description
among the endpoints. An Offer/Answer Model with Session Description
Protocol (SDP) [RFC3264] defines a framework by which two endpoints
can exchange SDP media descriptions and come to an agreement as to
which media streams should be used, along with the media related
parameters.
In some scenarios it might be desirable to establish the media stream
over a circuit-switched bearer connection even if the signaling for
the session is carried over an IP bearer. An example of such a
scenario is illustrated with two mobile devices capable of both
circuit-switched and packet-switched communication over a low-
bandwidth radio bearer. The radio bearer may not be suitable for
carrying real-time audio or video media, and using a circuit-switched
bearer would offer a better perceived quality of service. So,
according to this scenario, SDP and its higher layer session control
protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are
used over regular IP connectivity, while the audio or video is
received through the classical circuit-switched bearer.
Setting up a signaling relationship in the IP domain instead of just
setting up a circuit-switched call offers also the possibility of
negotiating in the same session other IP based media that is not
sensitive to jitter and delay, for example, text messaging or
presence information.
At a later point in time the mobile device might move to an area
where a high-bandwidth packet-switched bearer, for example a Wireless
Local Area Network (WLAN) connection, is available. At this point
the mobile device may perform a handover and move the audio or video
media streams over to the high-speed bearer. This implies a new
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 4]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
exchange of SDP Offer/Answer that lead to a re-negotiation of the
media streams.
Other use cases exist. For example, and endpoint might have at its
disposal circuit-switched and packet-switched connectivity, but the
same audio or video codecs are not feasible for both access networks.
For example, the circuit-switched audio or video stream supports
narrow-bandwidth codecs, while the packet-switched access allows any
other audio or video codec implemented in the endpoint. In this
case, it might be beneficial for the endpoint to describe different
codecs for each access type and get an agreement on the bearer
together with the remote endpoint.
There are additional use cases related to third party call control
where the session setup time is improved when the circuit-switched
bearer in the PSTN is described together with one or more codecs.
The rest of the document is structured as follows: Section 2 provides
the document conventions, Section 3 introduces the requirements,
Section 4 presents an overview of the proposed solutions, and
Section 5 contains the protocol description. Section 6 provides an
example of descriptions of circuit-switched audio or video streams in
SDP. Section 8 and Section 7 contain the IANA and Security
considerations, respectively.
2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119
[RFC2119] and indicate requirement levels for compliant
implementations.
3. Requirements
This section presents the general requirements that are specific for
the audio or video media streams over circuit-switched bearers.
REQ-1: A mechanism for endpoints to negotiate and agree on an audio
or video media stream established over a circuit-switched
bearer MUST be available.
REQ-2: The mechanism MUST allow the endpoints to combine circuit-
switched audio or video media streams with other
complementary media streams, for example, text messaging.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 5]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
REQ-3: The mechanism MUST allow the endpoint to negotiate the
direction of the circuit-switched bearer, i.e., which
endpoint is active when initiating the circuit-switched
bearer.
REQ-4: The mechanism MUST be independent of the type of the circuit-
switched access (e.g., Integrated Services Digital Network
(ISDN), Global System for Mobile Communication (GSM), etc.)
REQ-5: There MUST be a mechanism that helps an endpoint to correlate
an incoming circuit-switched bearer with the one negotiated
in SDP, as opposed to another incoming call that is not
related to that.
REQ-6: It MUST be possible for endpoints to advertise different list
of audio or video codecs in the circuit-switched audio or
video stream from those used in a packet-switched audio or
video stream.
REQ-7: It MUST be possible for endpoints to not advertise the list
of available codecs for circuit-switched audio or video
streams.
4. Overview of Operation
The mechanism defined in this memo extends SDP and allows describing
an audio or video media stream established over a circuit-switched
bearer. New tokens are registered in the "c=" and "m=" lines to be
able to describe a media stream over a circuit-switched bearer.
These SDP extensions are described in Section 5.2. Since circuit-
switched bearers are connection-oriented media streams, the mechanism
re-uses the connection-oriented extensions defined in RFC 4145
[RFC4145] to negotiate the active and passive sides of a connection
setup. This is further described in Section 5.3.1.
4.1. Example Call Flow
Consider the example presented in Figure 1. In this example, Alice
is located in an environment where she has access to both IP and
circuit-switched bearers for communicating with other endpoints.
Alice decides that the circuit-switched bearer offers a better
perceived quality of service for voice, and issues an SDP Offer
containing the description of an audio media stream over circuit-
switched bearer.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 6]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
Alice Bob
| (1) SDP Offer (PSTN audio) |
|----------------------------------->|
| |
| (2) SDP Answer (PSTN audio) |
|<-----------------------------------|
| |
| PSTN call setup |
|<-----------------------------------|
| |
| |
|<===== media over PSTN bearer =====>|
| |
Figure 1: Example Flow
Bob receives the SDP offer and determines that he is located in an
environment where the IP based bearer is not suitable for real-time
audio media. However he also has PSTN circuit-switched bearer
available for audio. Bob generates an SDP answer containing a
description of the audio media stream over a circuit-switched bearer.
During the offer-answer exchange Alice and Bob also agree the
direction in which the circuit-switched bearer should be established.
In this example, Bob becomes the active party, in other words, he
establishes the circuit-switched call to the other endpoint. The
Offer/Answer exchange contains identifiers or references that can be
used on the circuit-switched network for 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
whatever mechanisms are defined for the network type in question.
When receiving the incoming circuit-switched connection attempt,
Alice is able to determine that the attempt is related to the session
she is just establishing with Bob.
Alice accepts the circuit-switched connection; the circuit-switched
bearer setup is completed. Bob and Alice can now use the circuit-
switched connection for two-way audio media.
If, for some reason, Bob would like to reject the offered stream, he
would set the port number of the specific stream to zero, as
specified in RFC3264 [RFC3264]. Also, if Bob does not understand
some of the SDP attributes specified in this document, he would
ignore them, as specified in RFC4566 [RFC4566].
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 7]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
5. Protocol Description
5.1. Level of Compliance
Implementations according to this specification MUST implement the
SDP extensions described in Section 5.2, and MUST implement the
considerations discussed in Section 5.3, Section 5.4 and Section 5.5.
5.2. Extensions to SDP
This section provides the syntax and semantics of the extensions
required for providing a description of audio or video media streams
over circuit-switched bearers in SDP.
5.2.1. Connection Data
According to SDP [RFC4566], the connection data line in SDP has the
following syntax:
c=<nettype> <addrtype> <connection-address>
where <nettype> indicates the network type, <addrtype> indicates the
address type, and the <connection-address> is the connection address,
which is dependent on the address type.
At the moment, the only network type defined is "IN", which indicates
Internet network type. The address types "IP4" and "IP6" indicate
the type of IP addresses.
This memo defines a new network type for describing a circuit-
switched bearer network type in the PSTN. The mnemonic "PSTN" is
used for this network type.
For the address type, we initially consider the possibility of
describing E.164 telephone numbers. We define a new "E164" address
type. When used, the "E164" address type indicates that the
connection address contains an international E.164 number represented
according to the ITU-T E.164 [ITU.E164.1991] recommendation.
It is a common convention that an international E.164 number contains
a leading '+' sign. For consistency's sake, we also require the
E.164 telephone is prepended with a '+', even if that is not
necessary for routing of the call in the PSTN network.
There are cases, though, when the endpoint is merely aware of a
circuit-switched bearer, without having further information about the
address type or the E.164 number allocated to it. In these cases a
dash "-" is used to indicate an unknown address type or connection
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 8]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
address. This makes the connection data line be according to the SDP
syntax.
Note that <addrtype> and/or <connection-address> should not be
omitted without being set to a "-" since this would violate basic
syntax of SDP [RFC4566].
The following are examples of the extension to the connection data
line:
c=PSTN E164 +35891234567
c=PSTN - -
When the <addrtype> is PSTN, the connection address is defined as
follows:
o an international E.164 number
When the <addrtype> is "-", the connection address is defined as
follows:
o the value "-", signifying that the address is unknown
o any syntactically valid value, which is to be ignored
5.2.2. Media Descriptions
According to SDP [RFC4566], the media descriptions line in SDP has
the following syntax:
m=<media> <port> <proto> <fmt> ...
The <media> sub-field carries the media type. For establishing an
audio bearer, the existing "audio" media type is used. For
establishing a video bearer, the existing "video" media type is used.
The <port> sub-field is the transport port to which the media stream
is sent. Circuit-switched access lacks the concept of a port number,
and therefore the <port> sub-field is set to the discard port "9".
According to RFC 3264 [RFC3264], a port number of zero in the offer
of a unicast stream indicates that the stream is offered but must not
be used. If a port number of zero is present in the answer of a
unicast stream, it indicates that the stream is rejected. These
rules are still valid when the media line in SDP represents a
circuit-switched bearer.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 9]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
The <proto> sub-field is the transport protocol. The circuit-
switched bearer uses whatever transport protocol it has available.
This subfield SHOULD be set to the mnemonic "PSTN" to be
syntactically correct with SDP [RFC4566] and to indicate the usage of
circuit-switched protocols in the PSTN.
The <fmt> sub-field is the media format description. In the
classical usage of SDP to describe RTP-based media streams, when the
<proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub-
field contains the payload types as defined in the RTP audio profile
[RFC3551].
When "RTP/AVP" is used in the <proto> field, the <fmt> sub-field
contains the RTP payload type numbers. We use the <fmt> sub-field to
indicate the list of available codecs over the circuit-switched
bearer, by re-using the conventions and payload type numbers defined
for RTP/AVP. The RTP audio and video media types, which, when
applied to PSTN circuit-switched bearers, represent merely an audio
or video codec.
In some cases, the endpoint is not able to determine the list of
available codecs for circuit-switched media streams. In this case,
in order to be syntactically compliant with SDP [RFC4566], the
endpoint MUST include a single dash "-" in the <fmt> sub-field.
As per RFC 4566 [RFC4566], the media format descriptions are listed
in priority order.
Examples of media descriptions for circuit-switched audio streams
are:
m=audio 9 PSTN 3 0 8
m=audio 9 PSTN -
Similarly, an example of a media description for circuit-switched
video stream is:
m=video 9 PSTN 34
m=video 9 PSTN -
5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP
The endpoints should be able to correlate the circuit-switched bearer
with the session negotiated with SDP in order to avoid ringing for an
incoming circuit-switched bearer that is related to the session
controlled with SDP (and SIP).
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 10]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
Several alternatives exist for performing this correlation. This
memo provides three mutually non-exclusive correlation mechanisms.
Other correlation mechanisms may exist, and their usage will be
specified when need arises. All mechanisms share the same principle:
some unique information is sent in the SDP and in the circuit-
switched signaling protocol. If these pieces of information match,
then the circuit-switched bearer is part of the session described in
the SDP exchange. Otherwise, there is no guarantee that the circuit-
switched bearer is related to such session.
The first mechanism is based on the exchange of PSTN caller-ID
between the endpoints. The caller-ID is also available as the
Calling Party ID in the circuit-switched signaling.
The second mechanism is based on the inclusion in SDP of a value that
is also sent in the User-to-User Information Element that is part of
the bearer setup signaling in the PSTN.
The third mechanism is based on sending in SDP a string that
represents Dual Tone MultiFrequency (DTMF) digits that will be later
sent right after the circuit-switched bearer is established.
Implementations MAY use any of these mechanisms and MAY use two or
more mechanisms simultaneously.
5.2.3.1. The "cs-correlation" attribute
In order to provide support for the correlation mechanisms, we define
a new SDP attribute called "cs-correlation". This "cs-correlation"
attribute can include any of the "callerid", "uuie", or "dtmf" sub-
fields, which specify additional information required by the
Caller-ID, User to User Information, or DTMF correlation mechanisms,
respectively. The list of correlation mechanisms may be extended by
other specifications.
The following sections provide more detailed information of these
subfields. The "cs-correlation" attribute has the following format:
a=cs-correlation: <correlation-mechanisms>
correlation-mechanisms = corr-mech *(SP corr-mech)
corr-mech = caller-id-mech / uuie-mech /
dfmt-mech / ext-mech
caller-id-mech = "callerid" [":" caller-id-value]
uuie-mech = "uuie" [":" uuie-value]
dtmf-mech = "dtmf" [":" dtmf-value]
ext-mech = <ext-mech-name>[":"<ext-mech-value>]
The values "callerid", "uuie" and "dtmf" refer to the correlation
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 11]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and
Section 5.2.3.4, respectively. The formal Augmented Backus-Naur
Format (ABNF) syntax of the "cs-correlation" attribute is presented
in Section 5.6.
5.2.3.2. Caller-ID Correlation Mechanism
The Caller-ID correlation mechanisms consists of an exchange of the
calling party number as an international E.164 number in SDP,
followed by the availability of the Calling Party Number information
element in the call setup signaling of the circuit switched
connection. If both pieces of information match, the circuit-
switched bearer is correlated to the session described in SDP.
Example of inclusion of an international E.164 number in the "cs-
correlation" attribute is:
a=cs-correlation:callerid:+35891234567
The presence of the "callerid" sub-field indicates that the endpoint
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 international E.164 number of the
party inserting the parameter.
Note that there are no warranties that this correlation mechanism
works or is even available, due a number of problems:
o The endpoint might not be aware of its own E.164 number, in which
case it cannot populate the SDP appropriately.
o The Calling Party Number information element in the circuit-
switched signaling might not be available, e.g., due to policy
restrictions of the network operator or caller restriction due to
privacy.
o The Calling Party Number information element in the circuit-
switched signaling might be available, but the digit
representation of the E.164 number might differ from the one
expressed in the SDP. To mitigate this problem implementations
should consider only some of the rightmost digits from the E.164
number for correlation. For example, the numbers +358-9-123-4567
and 09-123-4567 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.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 12]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
5.2.3.3. User-User Information Element Correlation Mechanism
A second correlation mechanism is based on including in SDP a string
that represents the User-User Information Element that is part of the
call setup signaling of the circuit-switched bearer. The User-User
Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and
3GPP TS 24.008 [TS.24.008], among others. The User-User Information
Element has a maximum size of 35 or 131 octets, depending on the
actual message of the PSTN protocol where it is included.
The mechanism works as follows: An endpoint creates a User-User
Information Element, according to the requirements of the call setup
signaling protocol. The same value is included in the SDP offer or
SDP answer, in a "cs-correlation:uuie" attribute. When the SDP
Offer/Answer exchange is completed, each endpoint has become aware of
the value that will be used in the User-User Information Element of
the call setup message of the PSTN protocol. The endpoint that
initiates the call setup attempt includes this value in the User-User
Information Element. The recipient of the call setup attempt can
extract the User-User Information Element and correlate it with the
value previously received in the SDP. If both values match, then the
call setup attempt corresponds to that indicated in the SDP.
The first three octets of the User-User Information Element specified
in ITU-T Q.931 [ITU.Q931.1998] are the UUIE identifier, lenght of the
user-user contents, and a protocol discriminator, followed by the
actual User information. The first three octets of the UUIE MUST NOT
be used for correlation, only the octets carrying the User
information value are compared the value of the "cs-correlation:uuie"
attribute.
OPEN ISSUE: Need to confirm whether this is acceptable.
Note that, for correlation purposes, the value of the User-User
Information Element is considered as a opaque string and only used
for correlation purposes. Typically call signaling protocols impose
requirements on the creation of User-User Information Element for
end-user protocol exchange. The details regarding the generation of
the User-User Information Element are outside the scope of this
specification.
Please note that there are no warranties that this correlation
mechanism works. On one side, policy restrictions might not make the
User-User information available end to end in the PSTN. On the other
hand, the generation of the User-User Information Element is
controlled by the PSTN circuit-switched call protocol, which might
not offer enough freedom for generating different values from one
endpoint to another one, or from one call to another in the same
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 13]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
endpoint. This might result in the same value of the User-User
Information Element for all calls.
5.2.3.4. DTMF Correlation Mechanism
We introduce a third mechanism for correlating the circuit-switched
bearer with the session described with SDP. This is based on
agreeing on a sequence of digits that are negotiated in the SDP
Offer/Answer exchange and sent as Dual Tone Multifrequency (DTMF)
tones over the circuit-switched bearer once this bearer is
established. If the DTMF digit sequence received through the
circuit-switched bearer matches the digit string negotiated in the
SDP, the circuit-switched bearer is correlated with the session
described in the SDP. The mechanism is similar to many voice
conferencing systems which require the user to enter a PIN code using
DTMF tones in order to be accepted in a voice conference.
The mechanism works as follows: An endpoint selects a DTMF digit
sequence. The same sequence is included in the SDP offer or SDP
answer, in a "cs-correlation:dtmf" attribute. When the SDP Offer/
Answer exchange is completed, each endpoint has become aware of the
DTMF sequence that will be sent right after the circuit-switched
bearer is set up. The endpoint that initiates the call setup attempt
sends the DTMF digits according to the procedures defined for the
circuit-switched bearer technology used. The recipient (passive side
of the bearer setup) of the call setup attempt collects the digits
and compares them with the value previously received in the SDP. If
the digits match, then the call setup attempt corresponds to that
indicated in the SDP.
Implementations are advised to select a number of DTMF digits that
provide enough assurance that the call is related, but on the
other hand do not prolong the bearer setup time unnecessarily.
As an example, an endpoint willing to send DTMF tone sequence "14D*3"
would include a "cs-correlation" attribute line as follows:
a=cs-correlation:dtmf:14D*3
If the endpoints 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 receiving too many digits), the passive side
SHOULD treat the circuit-switched bearer as not correlated to the
ongoing session.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 14]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
DTMF digits can only be sent once the circuit-switched bearer is
set up. In order to suppress alerting for an incoming circuit-
switched call, implementations may choose various mechanisms. For
example, alerting may be suppressed for a certain time period for
incoming call attempts that originate from the number that was
observed during the offer/answer negotiation.
5.3. Negotiating the correlation mechanisms
The three correlation mechanisms presented above (based on called
party number, User-User Information Element and DTMF digit sending)
are non-exclusive, and can be used independently of each other. In
order to know how to populate the "a=cs-correlation" attribute, the
endpoints need to agree which endpoint will become the active party,
i.e. the one that will set up the circuit-switched bearer.
5.3.1. Determining the Direction of the Circuit-Switched Bearer Setup
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 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.
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.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 15]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
We define the active party as the one that initiates the circuit-
switched bearer after the Offer/Answer process. The passive party is
the one receiving the circuit-switched bearer. Either party may
indicate its desire to become the active or passive party during the
Offer/Answer exchange using the procedures described in Section 5.5.
5.3.2. Populating the cs-correlation attribute
By defining values for the sub-fields in the "a=cs-correlation"
attribute, the endpoint indicates that it is willing to become the
active party, and that it can use those values in the Calling party
number, User-User Information Element, or as DTMF tones during the
circuit-switched bearer setup.
Thus, the following rules apply:
An endpoint that can only become the active party in the circuit-
switched bearer setup MUST include all correlation mechanisms it
supports in the "a=cs-correlation" attribute, and MUST also
specify values for the sub-fields.
An endpoint that can only become the passive party in the circuit-
switched bearer setup MUST include all correlation mechanisms it
supports in the "a=cs-correlation" attribute, but MUST NOT specify
values for the sub-fields.
An endpoint that is willing to become either the active or passive
party (by including the "a=setup:actpass" attribute in the Offer),
MUST include all correlation mechanisms it supports in the "a=cs-
correlation" attribute, and MUST also specify values for the sub-
fields.
5.3.3. Considerations on successful correlation
Note that, as stated above, it cannot be guaranteed that any given
correlation mechanism will succeed even if the usage of those was
agreed beforehand. This is due to the fact that the correlation
mechanisms require support from the circuit-switched bearer
technology used.
Therefore, even a single positive indication using any of these
mechanisms SHOULD be interpreted by the passive endpoint so that the
circuit-switched bearer establishment is related to the ongoing
session, even if the other correlation mechanisms fail.
If, after negotiating one or more correlation mechanisms in the SDP
offer/answer exchange, an endpoint receives a circuit-switched bearer
with no correlation information present, the endpoint has two
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 16]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
choices: it can either treat the call as unrelated, or treat the call
as related to the ongoing session in the IP domain.
An endpoint may for example specify a time window after SDP offer/
answer exchange during which received calls are treated as correlated
even if the signaling in the circuit-switched domain does not carry
any correlation information. In this case, there is a chance that
the call is erroneously treated as related to the ongoing session.
An endpoint may also choose to always treat an incoming call as
unrelated if the signaling in the circuit-switched domain does not
carry any correlation information. In this case, there is a chance
that the call is erroneously treated as unrelated.
Since, in these cases, no correlation information can be deduced from
the signaling, it is up to the implementation to decide how to
behave. One option is also to let the user decide whether to accept
the call as related, or to treat the call as unrelated.
5.4. Considerations for Usage of Existing SDP
5.4.1. Originator of the Session
According to SDP [RFC4566], the origin line in SDP has the following
syntax:
o=<username> <sess-id> <sess-version> <nettype> <addrtype>
<unicast-address>
Of interest here are the <nettype> and <addrtype> fields, which
indicate the type of network and type of address, respectively.
Typically, this field carries the IP address of the originator of the
session. Even if the SDP was used to negotiate an audio or video
media stream transported over a circuit-switched bearer, the
originator is using SDP over an IP bearer. Therefore, <nettype> and
<addrtype> fields in the "o=" line should be populated with the IP
address identifying the source of the signaling.
5.4.2. Contact information
SDP [RFC4566] defines the "p=" line which may include the phone
number of the person responsible for the conference. Even though
this line can carry a phone number, it is not suited for the purpose
of defining a connection address for the media. Therefore, we have
selected to define the PSTN specific connection addresses in the "c="
line.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 17]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
5.5. Offer/Answer mode extensions
In this section, we define extensions to the Offer/Answer model
defined in The Offer/Answer Model in SDP [RFC3264] and extended in
the SDP Capability Negotiation [RFC5939] to allow for PSTN addresses
to be used with the Offer/Answer model.
5.5.1. Generating the Initial Offer
The Offerer, wishing to use PSTN audio or video stream, MUST populate
the "c=" and "m=" lines as follows.
The endpoint MUST set the <nettype> in the "c=" line to "PSTN", and
the <addrtype> to "E164". Furthermore, the endpoint SHOULD set the
<connection-address> field to its own international E.164 number
(with a leading "+"). If the endpoint is not aware of its own E.164
number, it MUST set the <connection-address> to "-".
In the "m=" line, the endpoint MUST set the <media> subfield to
"audio" or "video", depending on the media type, the <port> to "9"
(the discard port), and the <proto> sub-field to "PSTN".
The <fmt> sub-field carries the payload type number(s) the endpoint
is wishing to use. Payload type numbers in this case refer to the
codecs that the endpoint wishes to use. For example, if the endpoint
wishes to use the GSM codec, it would add payload type number 3 in
the list of codecs.
For dynamic payload types, the endpoint MUST define the set of valid
encoding names and related parameters using the "a=rtpmap" attribute
line. See Section 6 of SDP [RFC4566] for details.
When generating the Offer, if the Offerer supports any of the
correlation mechanisms defined in this memo, it MUST 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 supports any of the correlation mechanisms defined in
this memo, and is willing to become the active party, the Offerer
MUST add the "callerid", "uuie", and/or "dtmf" sub-fields and MUST
specify values for those sub-fields.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 18]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
o the international 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/or
o the DTMF tone string as the value of the "dtmf" sub-field
If the Offerer is only able to become the passive party in the
circuit-switched bearer setup, it MUST add the "callerid", "uuie"
and/or "dtmf" sub-fields, but MUST NOT specify values for those sub-
fields.
For example, if the Offerer is willing to use the User-User
Information element and DTMF digit sending mechanisms, but can only
become the passive party, it includes the following lines to the SDP:
a=cs-correlation:uuie dtmf
a=setup:passive
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 active or passive side, it includes to following lines
to the SDP:
a=cs-correlation:uuie:2890W284hAT452612908awudfjang908 dtmf:14D*3
a=setup:actpass
The negotiation of the value of the 'setup' attribute takes place as
defined in Section 4.1 of TCP-Based Media Transport in the SDP
[RFC4145].
The Offerer states which role or roles it is willing to perform; and
the Answerer, taking the Offerer's willingness into consideration,
chooses which roles both endpoints will actually perform during the
circuit-switched bearer setup.
By 'active' endpoint, we refer to an endpoint that will establish the
circuit-switched bearer; and by 'passive' endpoint, we refer to an
endpoint that will receive a circuit-switched bearer.
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
knows its international E.164 number, it MUST set the value to either
'actpass' or 'passive'.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 19]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
Also 'holdconn' is a permissible value in the 'a=setup' attribute.
It indicates that the connection is not established for the time
being.
The Offerer uses the "a=connection" attribute to decide whether a new
circuit-switched bearer is to be established or not. For the initial
Offer, the Offerer MUST use value 'new'.
5.5.2. Generating the Answer
If the Offer contained a circuit-switched audio or video stream, the
Answerer first determines whether it is able to accept and use such
streams. If the Answerer is not willing to use circuit-switched
media for the session, it MUST construct an Answer where the port
number for such media stream(s) is set to zero, according to Section
6 of An Offer/Answer Model with the Session Description Protocol
(SDP) [RFC3264].
If the Offer included a "-" as the payload type number, it indicates
that the Offerer is not willing or able to define any specific
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
define the codecs which will eventually be used on the circuit-
switched bearer. The circuit-switched signaling protocols have their
own means of negotiating or indicating the codecs, therefore an
Answerer SHOULD accept such Offers, and SHOULD set the payload type
to "-" also in the Answer.
If the Answerer explicitly wants to specify a codec for the circuit-
switched media, it MAY set the respective payload numbers in the
<fmt> sub-field in the answer. This behavior, however, is NOT
RECOMMENDED.
When receiving the Offer, the Answerer MUST determine whether it
becomes the active or passive party.
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
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
Answerer MUST reject the circuit-switched media by setting the port
number to zero on the Answer. If the Answerer is aware of its
international E.164 number, it MUST include the "a=setup" attribute
in the Answer and set it to value "passive" or "holdconn".
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
E.164 number is included in the "c=" line of the Offer. If the
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 20]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
number is included, the Answerer MUST include the "a=setup" attribute
in the Answer and set it to value "active" or "holdconn". If the
number is not included, call establishment is not possible, and the
Answerer MUST reject the circuit-switched media by setting the port
number to zero in the Answer.
If the SDP in the Offer indicates that the Offerer is able to become
either the active or passive party, the Answerer needs to determine
which role it would like to take. If the Offer includes an
international E.164 number in the "c=" line, the Answerer SHOULD
become the active party. If the Offer does not include an E.164
number, and if the Answerer is aware of its international E.164
number, it MUST become the passive party. If the Offer does not
include an E.164 number in the "c=" line and the Answerer is not
aware of its E.164 number, it MUST reject the circuit-switched media
by setting the port number to zero in the Answer.
The Answerer MUST 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 add parameter
values to the "callerid", "uuie" or "dtmf" sub-fields.
If the Answerer becomes the passive party, it MUST NOT 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 MUST extract the E.164 number from the "c=" line of the Offer and
MUST establish a circuit-switched bearer to that address.
o if the SDP Answer contained a value for the "callerid" sub-field,
must set the Calling Party Number Information Element to that
number,
o if the SDP Answer contained a value for the "uuie" sub-field, MUST
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 Answer contained a value for the "dtmf" sub-field, MUST
send those DTMF digits according to the circuit-switched
technology used.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 21]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
If, on the other hand, the Answerer became the passive party, it
o MUST be prepared to receive a circuit-switched bearer,
o if the Offer contained a value for the "callerid" sub-field, MUST
compare that value to the Calling Party Number Information Element
of the circuit-switched bearer,
o if the Offer contained a value for the "dtmf" sub-field, MUST be
prepared to receive and collect DTMF digits once the circuit-
switched bearer is set up. The Answerer MUST 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 if the Offer contained a value for the "uuie" sub-field, MUST be
prepared to receive a User-User Information element once the
circuit-switched bearer is set up. The Answerer MUST 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.5.3. Offerer processing the Answer
When receiving the Answer, if the SDP does not contain "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
use the procedures defined in the document for this session, and MUST
revert to normal processing of SDP.
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 MUST extract the E.164 number from the "c=" line and MUST
establish a circuit-switched bearer to that address.
o if the SDP Answer contained a value for the "uuie" sub-field, MUST
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, MUST
send those DTMF digits according to the circuit-switched
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 22]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
technology used.
If the Offerer becomes the passive party, it
o MUST be prepared to receive a circuit-switched bearer,
o if the Answer contained a value for the "dtmf" sub-field, 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 if the Answer contained a value for the "uuie" sub-field, 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.5.4. Modifying 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
an existing stream, it may do so via the mechanisms defined for An
Offer/Answer Model with SDP [RFC3264].
If there is an existing circuit-switched bearer between the
endpoints, and the Offerer wants to reuse that the Offerer MUST set
the value of the "a=connection" attribute to 'existing'.
If either party removes the circuit-switched media from the session
(by setting the port number to zero), it MUST terminate the circuit-
switched bearer using whatever mechanism is appropriate for the
technology in question.
If either party wishes to drop and reestablish an existing call, that
party MUST first remove the circuit-switched media from the session
by setting the port number to zero, and then use another Offer/Answer
exchange where it MUST set the "a=connection" attribute to 'new'".
If the media types are different (for example, a different codec will
be used for the circuit-switched bearer), the media descriptions for
terminating the existing bearer and the new bearer can be in the same
Offer.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 23]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
5.6. Formal Syntax
The following is the formal Augmented Backus-Naur Form (ABNF)
[RFC5234] syntax that supports the extensions defined in this
specification. The syntax is built above the SDP [RFC4566] grammar.
Implementations according to this specification MUST be compliant
with this syntax.
Figure 2 shows the formal syntax of the extensions defined in this
memo.
; extension to the connection field originally specified
; in RFC 4566
connection-field = [%x63 "=" nettype SP addrtype SP
connection-address CRLF]
;nettype and addrtype are defined in RFC 4566
connection-address /= e164-address / "-"
e164-address = "+" 1*15DIGIT
; DIGIT is specified in RFC 5234
;subrules for correlation attribute
attribute /= cs-correlation-attr
; attribute defined in RFC 4566
cs-correlation-attr= "cs-correlation:" corr-mechanisms
corr-mechanisms = corr-mech *(SP corr-mech)
corr-mech = caller-id-mech / uuie-mech / dtmf-mech / ext-mech
caller-id-mech = "callerid" [":" caller-id-value]
caller-id-value = "+" 1*15DIGIT
uuie-mech = "uuie" [":" uuie-value]
uuie-value = 1*32(ALPHA/DIGIT)
dtmf-mech = "dtmf" [":" dtmf-value]
dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A )
;0-9, A-D, '#' and '*'
ext-mech = ext-mech-name[":" ext-mech-value]
ext-mech-name = token
ext-mech-value = token
; token is specified in RFC4566
Figure 2: Syntax of the SDP extensions
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 24]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
6. Example
Alice Bob
| |
| (1) SDP Offer (PSTN audio) |
|--------------------------------->|
| |
| (2) SDP Answer (PSTN audio) |
|<---------------------------------|
| |
| PSTN call setup |
|<---------------------------------|
| |
|<==== media over PSTN bearer ====>|
| |
Figure 3: Basic flow
Figure 3 shows a basic example that describes a single audio media
stream over a circuit-switched bearer. Alice generates a SDP Offer
which is show in Figure 4. The Offer describes a PSTN circuit-
switched bearer in the "m=" and "c=" line where it also indicates its
international E.164 number format. Additionally, Alice expresses
that she can initiate the circuit-switched bearer or be the recipient
of it in the "a=setup" attribute line. The SDP Offer also includes a
correlation identifiers that this endpoint will be inserting the
Calling Party Number and/or User-User Information Element of the PSTN
call setup if eventually this endpoint initiates the PSTN call.
v=0
o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5
s=
t=0 0
m=audio 9 PSTN -
c=PSTN E164 +35891234567
a=setup:actpass
a=connection:new
a=cs-correlation:callerid:+15551234 uuie:2890W284hAT452612908awudfjang908
Figure 4: SDP offer (1)
Bob generates a SDP Answer (Figure 5), describing a PSTN audio media
on port 9 without information on the media sub-type on the "m=" line.
The "c=" line contains Bob's international E.164 number. In the
"a=setup" line Bob indicates that he is willing to become the active
endpoint when establishing the PSTN call, and he also includes the
"a=cs-correlation" attribute line containing the values he is going
to include in the Calling Party Number and User-User IE of the PSTN
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 25]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
call establishment.
v=0
o=- 2890973824 2890987289 IN IP4 192.0.2.7
s=
t=0 0
m=audio 9 PSTN -
c=PSTN E164 +35897654321
a=setup:active
a=connection:new
a=cs-correlation:callerid:+15554321 uuie:2127W49uThi455916adjfhtow9619361
Figure 5: SDP Answer with circuit-switched media
When Alice receives the Answer, she examines that Bob is willing to
become the active endpoint when setting up the PSTN call. Alice
temporarily stores Bob's E.164 number and the User-User IE value of
the "cs-correlation" attribute, and waits for a circuit-switched
bearer establishment.
Bob initiates a circuit-switched bearer using whatever circuit-
switched technology is available for him. The called party number is
set to Alice's number, and calling party number is set to Bob's own
number. Bob also sets the User-User Information Element value to the
on contained in the SDP Answer.
When Alice receives the circuit-switched bearer establishment, she
examines the UUIE and the calling party number, and by comparing
those received during O/A exchange determines that the call is
related to the SDP session.
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
number is changed by the PSTN. Implementations may still accept such
call establishment attempts as being related to the session that was
established in the IP network. As it cannot be guaranteed that the
values used for correlation are always passed intact through the
network, they should be treated as additional hints that the circuit-
switched bearer is actually related to the session.
7. Security Considerations
This document provides an extension on top of RFC 4566 [RFC4566], and
RFC 3264 [RFC3264]. As such, the security considerations of those
documents apply.
This memo provides mechanisms to agree on a correlation identifier or
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 26]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
identifiers that are used to evaluate whether an incoming circuit-
switched bearer is related to an ongoing session in the IP domain.
If an attacker replicates the correlation identifer and establishes a
call within the time window the receiving endpoint is expecting a
call, the attacker may be able to hijack the circuit-switched bearer.
These types of attacks are not specific to the mechanisms presented
in this memo. For example, caller ID spoofing is a well known attack
in the PSTN. Users are advised to use the same caution before
revealing sensitive information as they would on any other phone
call. Furthermore, users are advised that mechanisms that may be in
use in the IP domain for securing the media, like Secure RTP (SRTP)
[RFC3711], are not available in the CS domain.
8. IANA Considerations
This document instructs IANA to register a number of SDP tokens
according to the following data.
8.1. Registration of new cs-correlation SDP attribute
Contact: Miguel Garcia <miguel.a.garcia@ericsson.com>
Attribute name: cs-correlation
Long-form attribute name: PSTN Correlation Identifier
Type of attribute: media level only
This attribute is subject to the charset attribute
Description: This attribute provides the Correlation Identifier
used in PSTN signaling
Specification: RFC XXXX
The IANA is requested the create a subregistry for 'cs-correlation'
attribute under the Session Description Protocol (SDP) Parameters
registry. The initial values for the subregistry are presented in
the following, and IANA is requested to add them into its database:
Value of 'cs-correlation' attribute Reference Description
----------------------------------- --------- ----------- callerid
RFC XXXX Caller ID uuie RFC XXXX User-User Information Element dtmf
RFC XXXX Dual-tone Multifrequency
Note for the RFC Editor: 'RFC XXXX' above should be replaced by a
reference to the RFC number of this draft.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 27]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
As per the terminology in [RFC2434], the registration policy for new
values of 'cs-correlation' parameter is 'Specification Required'.
8.2. Registration of a new "nettype" value
This memo provides instructions to IANA to register a new "nettype"
in the Session Description Protocol Parameters registry [1]. The
registration data, according to RFC 4566 [RFC4566] follows.
Type SDP Name Reference
---- ------------------ ---------
nettype PSTN [RFCxxxx]
8.3. Registration of new "addrtype" values
This memo provides instructions to IANA to register a new "addrtype"
in the Session Description Protocol Parameters registry [1]. The
registration data, according to RFC 4566 [RFC4566] follows.
Type SDP Name Reference
---- ------------------ ---------
addrtype E164 [RFCxxxx]
- [RFCxxxx]
8.4. Registration of a new "proto" value
This memo provides instructions to IANA to register a new "proto" in
the Session Description Protocol Parameters registry [1]. The
registration data, according to RFC 4566 [RFC4566] follows.
Type SDP Name Reference
-------------- --------------------------- ---------
proto PSTN [RFCxxxx]
9. Acknowledgments
The authors want to thank Paul Kyzivat, Flemming Andreasen, Thomas
Belling, John Elwell, Jari Mutikainen, Miikka Poikselka, Jonathan
Rosenberg, Ingemar Johansson, Christer Holmberg, and Alf Heidermark
for providing their insight and comments on this document.
10. References
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 28]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
October 1998.
[RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the
Session Description Protocol (SDP) for ATM Bearer
Connections", RFC 3108, May 2001.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in
the Session Description Protocol (SDP)", RFC 4145,
September 2005.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5939] Andreasen, F., "Session Description Protocol (SDP)
Capability Negotiation", RFC 5939, September 2010.
10.2. Informative References
[ITU.E164.1991]
International Telecommunications Union, "The International
Public Telecommunication Numbering Plan", ITU-
T Recommendation E.164, 1991.
[ITU.Q931.1998]
"Digital Subscriber Signalling System No. 1 (DSS 1) - ISDN
User - Network Interface Layer 3 Specification for Basic
Call Control", ISO Standard 9594-1, May 1998.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 29]
Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2011
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
Video Conferences with Minimal Control", STD 65, RFC 3551,
July 2003.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message
Session Relay Protocol (MSRP)", RFC 4975, September 2007.
[TS.24.008]
3GPP, "Mobile radio interface Layer 3 specification; Core
network protocols; Stage 3", 3GPP TS 24.008 3.20.0,
December 2005.
URIs
[1] <http://www.iana.org/assignments/sdp-parameters>
Authors' Addresses
Miguel A. Garcia-Martin
Ericsson
Calle Via de los Poblados 13
Madrid, ES 28033
Spain
Email: miguel.a.garcia@ericsson.com
Simo Veikkolainen
Nokia
P.O. Box 407
NOKIA GROUP, FI 00045
Finland
Phone: +358 50 486 4463
Email: simo.veikkolainen@nokia.com
Garcia-Martin & Veikkolainen Expires May 3, 2012 [Page 30]