One document matched: draft-garcia-mmusic-sdp-cs-01.txt
Differences from draft-garcia-mmusic-sdp-cs-00.txt
MMUSIC WG M. Garcia-Martin
Internet-Draft S. Veikkolainen
Intended status: Standards Track Nokia Siemens Networks
Expires: October 17, 2008 April 15, 2008
Conventions for the Use of the Session Description Protocol (SDP) for
Circuit-Switched Bearer Connections in the Public Switched Telephone
Network (PSTN)
draft-garcia-mmusic-sdp-cs-01
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on October 17, 2008.
Abstract
This memo describes use cases, requirements, and protocol conventions
for using the Session Description Protocol (SDP) Offer/Answer model
for establishing circuit-switched bearer connections in the Public
Switched Telephone Network (PSTN). Additionally, this memo proposes
conventions for using SDP and the SDP capability negotiation
framework for expressing those circuit-switched bearer connections as
alternatives to packet-switched streams.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 1]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions Used in This Document . . . . . . . . . . . . . . 4
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 5
4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 5
5. Protocol Description . . . . . . . . . . . . . . . . . . . . . 7
5.1. Level of Compliance . . . . . . . . . . . . . . . . . . . 7
5.2. Extensions to SDP . . . . . . . . . . . . . . . . . . . . 7
5.2.1. Connection Data . . . . . . . . . . . . . . . . . . . 7
5.2.2. Media Descriptions . . . . . . . . . . . . . . . . . . 8
5.2.3. Correlating the PSTN Circuit-Switched Bearer with
SDP . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2.3.1. Caller-ID Correlation Mechanism . . . . . . . . . 9
5.2.3.2. User-User Information Element Correlation
Mechanism . . . . . . . . . . . . . . . . . . . . 10
5.3. Considerations for Usage of Existing SDP . . . . . . . . . 11
5.3.1. Originator of the Session . . . . . . . . . . . . . . 11
5.3.2. Determining the Direction of the Circuit-Switched
Connection Setup . . . . . . . . . . . . . . . . . . . 12
5.4. Extensions to and Usage of the SDP Capability
Negotiation Framework . . . . . . . . . . . . . . . . . . 13
5.4.1. Offering alternative media streams . . . . . . . . . . 13
5.4.2. Using Additional Attributes with the SDP
Capability Negotiation Framework . . . . . . . . . . . 16
5.5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 17
6. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1. Basic SDP example: Single Circuit-Switched Audio Stream . 19
6.2. PSTN Circuit-Switched Audio Bearer as an Alternative
to RTP . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
7.1. Registration of new corr-id SDP attribute . . . . . . . . 22
7.2. Registration of a new "nettype" value . . . . . . . . . . 22
7.3. Registration of new "addrtype" values . . . . . . . . . . 22
7.4. Registration of a new "proto" value . . . . . . . . . . . 22
7.5. Registration of a new Capability Negotiation Option Tag . 23
8. Security Considerations . . . . . . . . . . . . . . . . . . . 23
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
10.1. Normative References . . . . . . . . . . . . . . . . . . . 23
10.2. Informative References . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
Intellectual Property and Copyright Statements . . . . . . . . . . 26
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 2]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
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 two mobile devices capable of both circuit-switched and
packet-switched communication over a low-bandwidth radio bearer. The
radio bearer may not be suitable for carrying real-time audio media,
and using a circuit-switched bearer would offer a better perceived
quality of service. So, according to this scenario, SDP and its
higher layer session control protocol (e.g., the Session Initiation
Protocol (SIP) [RFC3261]) are used over regular IP connectivity,
while the audio is received through the classical circuit-switched
bearer.
Setting up a signaling relationship in the IP domain instead of just
setting up a circuit-switched call offers also the possibility of
negotiating in the same session other IP based media that is not
constrained by jitter or delay, for example, text messaging or
presence information.
At a later point in time the mobile device might move to an area
where a high-bandwidth packet-switched bearer, for example a Wireless
Local Area Network (WLAN) connection, is available. At this point
the mobile device may perform a handover and move the audio media
streams over to the high-speed bearer. This implies a new exchange
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 3]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
of SDP offer/answer that lead to a re-negotiation of the media
streams.
The rest of the document is structured as follows: Section 2 provides
the document conventions, Section 3 introduces the requirements,
Section 4 presents an overview of the proposed solutions, and
Section 5 contains the protocol description. Section 6 provides a
few examples of descriptions of circuit-switched audio streams in
SDP. Section 7 and Section 8 contain the IANA and Security
considerations, respectively.
2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119
[RFC2119] and indicate requirement levels for compliant
implementations.
3. Requirements
This section presents the general requirements that are specific for
the circuit-switched audio media stream.
REQ-1: A mechanism for endpoints to negotiate and agree on a
circuit-switched bearer for audio media MUST be available.
REQ-2: The mechanism MUST allow the endpoints to combine circuit-
switched audio media streams with other complementary media
streams, for example, text messaging.
REQ-3: It MUST be possible for an endpoint to offer an audio stream
where the circuit-switched bearer is an alternative to the IP
bearer, and vice versa.
REQ-4: The mechanism MUST allow the endpoint to negotiate the
direction of the circuit-switched connection, i.e., which
endpoint is active when initiating the circuit-switched
connection.
REQ-5: 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.)
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 4]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
REQ-6: The mechanism MUST be backwards compatible with SDP [RFC4566]
and the SDP Offer/Answer Model [RFC3264] in the sense that if
an endpoint offers a description of a circuit-switched audio
stream in addition to a classical RTP-based audio stream, and
the other endpoint supports only the classical RTP, then both
endpoints can agree on the RTP-based audio stream, according
to the rules in SDP offer/answer [RFC3264], and communication
can still be possible.
REQ-7: There MUST be a mechanism that helps an endpoint to correlate
an incoming PSTN call with the one negotiated in SDP, as
opposed to another incoming call that is not related to that.
4. Overview of Operation
The mechanism defined in this memo extends SDP and allows describing
a PSTN circuit-switched media stream in SDP. New tokens are
registered in the "c=" and "m=" lines to be able to describe a PSTN
circuit-switched bearer. These SDP extensions are described in
Section 5.2. Since circuit-switched bearers are a sort of
connection-oriented media streams, the mechanism re-uses the
connection-oriented extensions defined in RFC 4145 [RFC4145] to
negotiate the active and passive sides of a connection setup. This
is further described in Section 5.3.2.
Additionally, this memo provides optional means for negotiating an
audio stream that can be established over any of two separate
bearers: a regular IP bearer using RTP [RFC3550] and a circuit-
switched bearer. The endpoints agree on a given bearer and establish
the media stream. This is achieved by using the SDP capability
negotiation [I-D.ietf-mmusic-sdp-capability-negotiation] and the SDP
Media Capabilities Negotiation
[I-D.ietf-mmusic-sdp-media-capabilities], for which this memo also
include an extension to express the "c=" line as a capability. This
is further described in Section 5.4.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 issues an SDP Offer containing two alternative audio media
stream descriptions: one that uses a circuit-switched connection, and
the other uses an IP bearer and RTP.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 5]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
Alice Bob
| (1) SDP Offer (RTP and 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, but he has PSTN circuit-switched bearer available for
audio. Bob sends back an SDP Answer where he selects the circuit-
switched media stream description.
During the offer-answer exchange Alice and Bob also agree the
direction in which the circuit-switched connection should be
established. The exchange also contained identifiers or references
that can be used on the circuit-switched network for addressing the
other endpoint, as well as identifying that the incoming circuit-
switched connection establishment is related to the ongoing session
between Alice and Bob.
Bob establishes a circuit-switched connection 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 has with Bob.
Alice accepts the circuit-switched connection, and the circuit-
switched connection 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 an 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 should
ignore such parameters, as specified in RFC4566 [RFC4566].
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 6]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
5. Protocol Description
5.1. Level of Compliance
Implementations according to this specification MUST implement the
SDP extensions described in Section 5.2, MUST implement the
considerations discussed in Section 5.3, and MAY implement the
mechanisms for offering alternative media streams discussed in
Section 5.4.1.
5.2. Extensions to SDP
This section provides the syntax and semantics of the extensions
required for providing a description of circuit-switched streams 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 network type in the PSTN. The mnemonic "PSTN" is used for
this network type.
For the address type, we initially consider the possibility of
describing E.164 telephone numbers. We define a new "E164" address
type. When used, the "E164" address type indicates that the
connection address contains a telephone number represented according
to the ITU-T E.164 [ITU.E164.1991] specification.
There are cases, though, when the endpoint is merely aware of a
circuit-switched bearer, without having further information about the
address type or the E.164 number allocated to it. In these cases a
dash "-"is used to indicate an unknown address type or connection
address. This makes the connection data line be according to the SDP
syntax.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 7]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
Note that <addrtype> and/or <connection-address> should not be
omitted without being set to a "-" since this would violate basic
syntax of SDP [RFC4566].
The following are examples of the extension to the connection data
line:
c=PSTN E164 +15551234
c=PSTN - -
5.2.2. Media Descriptions
According to SDP [RFC4566], the media descriptions line in SDP has
the following syntax:
m=<media> <port> <proto> <fmt> ...
The <media> sub-field carries the media type. Since this document
deals with establishing an audio bearer, the currently defined
"audio" media type is used.
The <port> sub-field is the transport port to which the media stream
is sent. Circuit-switched access lacks the concept of a port number,
and therefore the <port> sub-field is set to a dash "-".
The <proto> sub-field is the transport protocol. The circuit-
switched bearer uses whatever transport protocol it has available.
This subfield SHOULD be set to the mnemonic "PSTN" to be
syntactically correct with SDP [RFC4566] and to indicate the usage of
circuit-switched protocols in the PSTN.
The <fmt> sub-field is the media format description. In the
classical usage of SDP to describe RTP-based media streams, when the
<proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub-
field contains the payload types as defined in the RTP audio profile
[RFC3551].
In the case of circuit-switched descriptions in the PSTN, RTP is not
really used. Normally, the <fmt> sub-field carries the RTP payload
numbers, but since the circuit-switched connection setup uses codec
negotiation that is specific to used technology, listing the payload
numbers or codecs is not required. Therefore, the endpoint MUST
include a single dash "-" in the <fmt> sub-field when describe a
circuit-switched connection.
Example of a media description for circuit-switched audio streams is:
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 8]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
m=audio - PSTN -
5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP
The endpoints should be able to correlate the circuit-switched
connection with the session negotiated with SDP to avoid ringing for
an incoming circuit-switched call that is related to the session
controlled with SDP (and SIP).
Several alternatives exist for performing this correlation. This
memo provides two mutually non-exclusive correlation mechanisms.
Other correlation mechanisms might exist as well, and their usage
will be specified when need arises. The first mechanism is based on
the exchange of PSTN caller-ID between the endpoints, which is also
made available as the Calling Party ID in the circuit-switched
signaling. The second mechanism is based on the inclusion in SDP of
the value of the User-to-User Information Element that is part of the
call setup signaling in the PSTN. Implementations MAY use any of
these mechanisms and MAY use both mechanisms simultaneously.
5.2.3.1. Caller-ID Correlation Mechanism
The caller-ID correlation mechanisms consists of an exchange of the
calling party number in E.164 format in SDP, followed by the
availability of the Calling Party Number information element in the
call setup signaling of the circuit switched connection.
An endpoint that is feasible to become the active party for setting
up the circuit-switched bearer SHOULD include its E.164 number in the
<connection-address> field of the "c=" line. If SDP capability
negotiation framework is used, the endpoint SHOULD also include its
E.164 number in the "a=ccap" capability line. The 'ccap' capability
attribute and its usage in the SDP capability negotiation framework
is defined in Section 5.4.1. An endpoint that acts as the passive
party for setting up the circuit-switch bearer MAY include its E.164
number in the same corresponding lines, although these are not used
for correlation.
Examples of inclusion of E.164 numbers in the "c=" and "a=ccap" lines
are:
c=PSTN E164 +15551234
a=ccap:1 PSTN E164 +15551234
Please note that there are no warranties that this correlation
mechanism works or is even available, due a number of problems:
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 9]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
o The endpoint might not be aware of its own E.164 number, in which
case it cannot populate the SDP appropriately.
o The Calling Party Number information element in the circuit-
switched signaling might not be available, e.g., due to policy
restrictions of the network operator or caller restriction due to
privacy.
o The Calling Party Number information element in the circuit-
switched signaling might be available, but the digit
representation of the E.164 number might differ from the one
expressed in the SDP. For example, one can be represented in
international format and the other might only contain the
significant national digits. Therefore, an implementation may
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 one and the same number. This
is also the behavior of some phones, which try to display the
caller's name if it is stored in the phonebook.
5.2.3.2. User-User Information Element Correlation Mechanism
A second correlation mechanism is based on indicating in SDP the
User-User Information Element that is part of the call setup
signaling of the circuit-switched bearer. The User-User Information
Element is specified in ITU-T Q.931 [ITU.Q931.1998] and 3GPP TS
24.008 [3GPP.24.008], among others. The User-User Information
Element has a maximum size of 35 or 131 octets, depending on the
actual message of the PSTN protocol where it is included.
The mechanism works as follows: An endpoint creates a User-User
Information Element, according to the requirement of the call setup
signaling protocol. The same value is included in the SDP offer or
SDP answer, in a new attribute called 'corr-id', defined below. 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. 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 attempt corresponds to that
indicated in the SDP.
Note that, for correlation purposes, the value of the User-User
Information Element is considered as a opaque string and only used
for correlation purposes. Typically call signaling protocols impose
requirements on the creation of User-User Information Element for
end-user protocol exchange. The details regarding the generation of
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 10]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
the User-User Information Element are outside the scope of this
specification.
This specification defines a new SDP attribute, called 'corr-id',
whose purpose is to include the User-User Information Element that
the endpoint will include in the call setup attempt. The 'corr-id'
attribute has the following format:
a=corr-id:corr-token
An endpoint that is feasible to become the active party for setting
up the PSTN call SHOULD include in the 'corr-id' attribute the value
of the User-User Information Element that will be used in the PSTN
call setup attempt. If both the SDP offerer and the SDP answerer are
able to become the active party, each one SHOULD include a
correlation value. Then the party that becomes active in setting up
the PSTN circuit-switched call includes this value in the User-User
information element of the call signaling setup. The passive party
is able to inspect the received value of User-User Information
Element and correlate it with that received in the SDP in the
'corr-id' attribute. An endpoint that takes the role of the passive
party for setting up the circuit-switched bearer MAY include a
'corr-id' attribute in the SDP, although it is not used for
correlation purposes.
Please not that there are no warranties that this correlation
mechanism works. On one side, policy restrictions might not make the
User-User information available end to end in the PSTN. On the other
hand, the generation of the User-User Information Element is
controlled by the PSTN circuit-switched call protocol, which might
not offer enough freedom for generating different values from one
endpoint to another one, or from one call to another in the same
endpoint. This might result in the same value of the User-User
Information Element for all calls.
5.3. Considerations for Usage of Existing SDP
5.3.1. Originator of the Session
According to SDP [RFC4566], the origin line in SDP has the following
syntax:
o=<username> <sess-id> <sess-version> <nettype> <addrtype>
<unicast-address>
Of interest here are the <nettype> and <addrtype> fields, which
indicate the type of network and type of address, respectively.
Typically, this field carries the IP address of the originator of the
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 11]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
session. Even if the SDP was used to negotiate a circuit-switched
media stream, the originator is using SDP over an IP bearer.
Therefore, <nettype> and <addrtype> fields in the "o=" line should be
populated with the IP address identifying the source of the
signaling.
5.3.2. Determining the Direction of the Circuit-Switched Connection
Setup
The circuit-switched connection can typically be initiated by either
endpoint. In order to avoid a situation where both endpoints attempt
to initiate a connection simultaneously, the direction in which the
circuit-switched connection 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, this specification uses the concepts in
RFC 4145 [RFC4145] for establishing circuit-switched connections.
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.
If the SDP capability negotiation mechanism is used the endpoint
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 12]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
SHOULD include the 'setup' and 'connection' attributes as
capabilities of the PSTN circuit-switched bearer description, unless
these two attributes are defined at session-level affecting all
media-level descriptions. This implies that there would be "a=acap"
lines that describe the 'setup' and 'connection' attributes. For
example:
a=acap:1 setup:active a=acap:2 connection:new
5.4. Extensions to and Usage of the SDP Capability Negotiation
Framework
5.4.1. Offering alternative media streams
In many cases where circuit-switched audio streams are described in
SDP it is foreseen that circuit-switched bearers will be offered as
an alternative to regular IP bearers for the same media stream.
Therefore, it is reasonable to provide a mechanism to define circuit-
switched bearers as an alternative to an RTP-based IP bearers.
To offer an audio media stream using alternatively RTP or circuit-
switched bearers, this specification reuses some of the capability
attributes defined in SDP Capability Negotiation framework
[I-D.ietf-mmusic-sdp-capability-negotiation] as well as in SDP Media
Capabilities Negotiation [I-D.ietf-mmusic-sdp-media-capabilities].
Additionally, this memo defines a new capability attribute 'ccap' in
SDP that allows to express a connection address as a capability.
Section 5.4 describes the extensions to and usage of the SDP
Capability Negotiation [I-D.ietf-mmusic-sdp-capability-negotiation]
and SDP Media Capabilities Negotiation
[I-D.ietf-mmusic-sdp-media-capabilities] for offering alternative
PSTN circuit-switched media streams. Section 5.4.2 describes the
usage of 'corr-id', 'setup', and 'connection' attributes in
conjunction with the SDP Capability Negotiation framework
[I-D.ietf-mmusic-sdp-capability-negotiation].
The 'mcap' media capability attribute defined in the SDP Media
Capabilities Negotiation [I-D.ietf-mmusic-sdp-media-capabilities]
lists media formats as capabilities in the form a media type and one
or more subtypes.
An example provided in [I-D.ietf-mmusic-sdp-media-capabilities] lists
four audio media subtypes which are numbered consecutively (starting
from 1 in this example).
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 13]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
a=mcap:1 audio g729 iLBC PCMU g729
Similarly, we can use the 'mcap' capability attribute to indicate
media capabilities that correspond to the "m=" line defined in
Section 5.2.2.
a=mcap:1 audio -
Here, we declare a media capability with no specific subtype. The
media capability has nevertheless a number associated with it as
specified in SDP Media Capabilities Negotiation
[I-D.ietf-mmusic-sdp-media-capabilities]. In this example the
associated number is 1.
Transport Protocols can be expressed as capabilities with the 'tcap'
capability attribute defined in SDP Capability Negotiation
[I-D.ietf-mmusic-sdp-capability-negotiation]. The 'tcap' capability
attribute lists one or more <proto> elements, defined in SDP
[RFC4566].
An example of transport protocol capability indicating "PSTN"
transport protocol defined in this document would thus be:
a=tcap:1 PSTN
In this document we define a new capability attribute: the connection
address capability attribute, 'ccap'. The connection address
capability lists connection addresses as capabilities, and is defined
as follows:
a=ccap:<c-cap-num> <c-cap-attr> *[ <c-cap-attr>]
where <c-cap-num> is an integer between 1 and 2^31-1 (both included)
used to number the connection address capability attribute.
The <c-cap-attr> field consists of network type, address type and a
connection address, as specified for a "c=" line in SDP [RFC4566].
As an example, to list <nettype> value of "PSTN", <addrtype> value of
"E164", and a <connection-address> value of "+15551234" as a
connection capability attribute, we get:
a=ccap:1 PSTN E164 +15551234
The 'pcfg' attribute is defined in the SDP Capabilities Negotiation
[I-D.ietf-mmusic-sdp-capability-negotiation]. We extend this
attribute to be able to convey one or more connection capability
numbers.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 14]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
The 'pcfg' attribute has he following definition:
a=pcfg: <config-number> [<pot-cfg-list>]
We extend the <pot-cfg-list> field to according to the following
definition:
pot-connection-config = connection-config-list
connection-config-list = "c=" c-cap-list *(BAR c-cap-list)
c-cap-list = c-cap-num *("," c-cap-num)
c-cap-num = 1*DIGIT
; BAR defined in SDP capabilities
; negotiation
Figure 2: Syntax of the pot-cfg-list Extension
Each potential connection configuration is a comma-separated list of
connection capability numbers where 'c-cap-num' refers to connection
capability numbers defined explicitly by 'ccap' attributes and hence
must be between 1 and 2^31-1 (both included). Alternative potential
connection configurations are separated by a vertical bar ("|").
The SDP Capability Negotiation Framework provides a 'creq' attribute
that lists the extensions to the framework that are required to be
supported by the recipient of the SDP. The attribute lists one or
more option tags that are required for the endpoints to do
capabilities negotiation. SDP Capabilities Negotiation Framework
[I-D.ietf-mmusic-sdp-capability-negotiation] defines the base option
"cap-v0". SDP media capabilities negotiation
[I-D.ietf-mmusic-sdp-media-capabilities] defines the "med-v0" option
tag that indicates a requirement for media capabilities.
This memo defines a new extension to the SDP Capabilities Negotiation
Framework [I-D.ietf-mmusic-sdp-capability-negotiation].
Consequently, this memo defines a new option tag "pstn-v0" to the
'creq' attribute. Implementations according to this specification
MUST include the "pstn-V0" and "med-v0" option tags in the 'creq'
attribute when they use the SDP capability negotiation framework for
negotiating circuit-switched media streams in the PSTN. Note that
the base option tag "cap-v0" need not be signaled.
An example SDP consisting of two alternative media stream is as
follows:
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 15]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
m=audio 49170 RTP/AVP 0 8 3
c=IN IP4 192.0.2.1
a=creq:med-v0,pstn-v0
a=mcap:1 PCMU/8000/1
a=mcap:2 PCMA/8000/1
a=mcap:3 GSM/8000/1
a=mcap:4 -
a=tcap:1 RTP/AVP PSTN
a=ccap:1 IN IP4 192.0.2.1
a=ccap:2 PSTN E164 +15551234
a=pcfg:1 t=1 m=1,2,3 c=1
a=pcfg:2 t=2 m=4 c=2
Figure 3: Detail of SDP offer with alternative media streams
In the example of Figure 3, the SDP defines a few media capabilities
"a=mcap", numbered 1, 2, and 3, that specify PCMU, PCMA, and GSM
format, respectively. A forth media capability "a=mcap" specifies an
unknown format (used for the PSTN connection). A transport
capability 1 that defines RTP/AVP, and the transport capability
number 2 defines the PSTN protocol type. There are two connection
capabilities "a=ccap" that define the IP and PSTN connection data,
respectively. Two potential configurations are supplied, numbered 1
and 2. Potential configuration number 1, which has higher priority,
defines the IP connectivity with RTP by selecting the same parameters
that compose the definition in the classical "m=" and "c=" lines.
Potential configuration number 2 defines a PSTN connectivity by
selecting the appropriate transport, media, and connection
capabilities.
An example SDP answer to the offer presented in Figure 3 where PSTN
audio has been selected as the actual configuration is as follows:
m=audio - PSTN -
c=PSTN E164 +15550987654
a=acfg:2 t=2 m=4 c=2
Figure 4: Detail of SDP answer with PSTN circuit-switched bearer
selected
The answer contains the "a=acfg" line selected configuration. The
answer carries the accepted configuration in the "m=" and "c=" lines.
5.4.2. Using Additional Attributes with the SDP Capability Negotiation
Framework
Section 5.2.3.2 describes a correlation mechanism based on the usage
of the User-User Information Element of the PSTN signaling protocol
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 16]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
together with a new 'corr-id' attribute. When the SDP capability
negotiation framework is used in conjunction with the User-User
Information Element, the endpoint MUST include the 'corr-id'
attribute as a capability of the PSTN circuit-switched bearer
description. This implies that there would be an "a=acap" line that
describes the 'corr-id' attribute. For example:
a=acap:1 corr-id:2890W284hAT452612908awudfjang908
Section 5.3.2 describes the usage of the connection-oriented media
attributes 'setup' and 'connection'. When 'setup' and 'connection'
attributes are used in conjunction with the SDP Capability
Negotiation framework both attributes SHOULD be Included in the SDP
as "a=acap" capability attributes. An exception to the rule is
achieved when these attributes are equally applicable to the RTP and
PSTN descriptions, in which case, they can be included in their
regular format rather than as capability descriptions.
5.5. Formal Syntax
The following is the formal Augmented Backus-Naur Form (ABNF)
[RFC5234] syntax that supports the extensions defined in his
specification. The syntax is built above the SDP [RFC4566] grammar
and the SDP capability negotiation
[I-D.ietf-mmusic-sdp-capability-negotiation]. Implementations
according to this specification MUST implement this syntax.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 17]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
;subrules for ccap and corr-id attribute
attribute = corr-id-attr / ccap-attr
; attribute defined in RFC 4566
corr-id-attr = "corr-id:" corr-id-value
corr-id-value = 1*32(ALPHA/DIGIT)
ccap- attr = "ccap:" c-cap-num SP c-cap-attr
c-cap-num = 1*DIGIT
c-cap-attr = connection-field
; connection-field defined in RFC 4566
; subrules for the potential configuration attribute
; according to SDP capability negotiation, included
; here to get into context (thus, commented)
;
; a=pcfg: <config-number> [<pot-cfg-list>]
; pot-cfg-list = pot-config *(1*WSP pot-config)
; pot-config = attribute-config-list /
; transport-protocol-config-list /
; extension-config-list
;
; extension to the pot-config to include a "c=" line
;
pot-config = pot-conn-config
; pot-config defined in SDP
; capability negotiation
pot-conn-config = "c=" c-cap-list *(BAR c-cap-list)
; BAR defined in SDP
; capability negotiation
c-cap-list = c-cap-num *("," c-cap-num)
Figure 5: Syntax of the SDP extensions
6. SDP Examples
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 18]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
6.1. Basic SDP example: Single Circuit-Switched Audio Stream
Alice Bob
| (1) SDP Offer (PSTN audio) |
|--------------------------------->|
| |
| (2) SDP Answer (PSTN audio) |
|<---------------------------------|
| |
| PSTN call setup |
|<---------------------------------|
| |
|<==== media over PSTN bearer ====>|
| |
Figure 6: Basic flow
Figure 6 shows a basic example that describes a single audio stream
over a circuit-switched bearer. The SDP offer is show in Figure 7.
The endpoint describes a PSTN circuit-switched bearer in the "m=" and
"c=" line where it also indicates its E.164 number. Additionally, it
expresses that it can initiate the circuit-switched connection or be
the recipient of it. The SDP offer also includes a correlation
identifier that this endpoint will be inserting the User-User
Information Element of the PSTN call setup if eventually this
endpoint initiates the PSTN call.
v=0
o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5
s=
t=0 0
m=audio - PSTN -
c=PSTN E164 +15551234
a=setup:actpass
a=connection:new
a=corr-id:2890W284hAT452612908awudfjang908
Figure 7: SDP offer (1)
6.2. PSTN Circuit-Switched Audio Bearer as an Alternative to RTP
Figure 9 provides an example of SDP consisting of two alternative
audio media streams, one using RTP over an IP bearer, the other using
PSTN bearer. The SDP offerer describes the PCMU, PCMA, and GSM
payload types for RTP usage. It also indicates that can initiate or
receive the PSTN connection.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 19]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
Alice Bob
| (1) SDP Offer (PSTN and RTP audio) |
|----------------------------------->|
| |
| (2) SDP Answer (PSTN audio) |
|<-----------------------------------|
| |
| (3) SDP Offer (PSTN audio) |
|----------------------------------->|
| |
| (4) SDP Answer (PSTN audio) |
|<-----------------------------------|
| |
| PSTN call setup |
|<-----------------------------------|
| |
|<===== media over PSTN bearer =====>|
| |
Figure 8: Flow describing alternative PSTN Circuit-Switched bearer
and RTP bearer for an audio stream
Figure 8 shows an example where the initial SDP offer (1) describes a
single audio media stream that can be either setup over RTP or over
the PSTN. This is done using the SDP capability negotiation
[I-D.ietf-mmusic-sdp-capability-negotiation]. The SDP answerer (2)
selects the PSTN bearer. According to SDP capability negotiation
[I-D.ietf-mmusic-sdp-capability-negotiation], once an alternative
media stream is selected, a new SDP offer (3) and SDP answer (4) are
required ), mainly to help intermediaries which do not implement the
capability negotiation mechanism.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 20]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
v=0
o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5
s=
t=0 0
m=audio 49170 RTP/AVP 0 8 3
c=IN IP4 192.0.2.5
a=creq:med-v0,pstn-v0
a=mcap:1 PCMU/8000/1
a=mcap:2 PCMA/8000/1
a=mcap:3 GSM/8000/1
a=mcap:4 -
a=tcap:1 RTP/AVP PSTN
a=ccap:1 IN IP4 192.0.2.1
a=ccap:2 PSTN E164 +15551234
a=acap:1 corr-id:2890W284hAT452612908awudfjang908
a=acap:2 setup:actpass
a=acap:3 connection:new
a=pcfg:1 t=1 m=1,2,3 c=1
a=pcfg:2 t=2 m=4 c=2 a=1,2,3
Figure 9: Example of an SDP offer with alternative media streams
The SDP answerer replies with the SDP of Figure 10 where the PSTN
audio stream is selected.
v=0
o=- 2890973824 2890987289 IN IP4 192.0.2.7
s=
t=0 0
m=audio - PSTN -
c=PSTN - -
a=acfg:2
a=setup:active
a=connection:new
a=corr-id:2890W284hAT452612908awudfjang908
Figure 10: Example of an SDP answer with PSTN Circuit-Switched bearer
selected
7. IANA Considerations
This document instructs IANA to register a number of SDP tokens
according to the following data.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 21]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
7.1. Registration of new corr-id SDP attribute
Contact. Miguel Garcia <miguel.garcia@nsn.com>
Phone: +358 71400 4000
Attribute name: corr-id
Long-form attribute name: PSTN Correlation Identifier
Type of attribute: media level only
This attribute is subject to the charset attribute
Description: This attribute provides the Correlation Identifier
used in PSTN signaling
Specification: RFC XXXX
7.2. Registration of a new "nettype" value
This memo provides instructions to IANA to register a new "nettype"
in the Session Description Protocol Parameters registry [1]. The
registration data, according to RFC 4566 [RFC4566] follows.
Type SDP Name Reference
---- ------------------ ---------
nettype PSTN [RFCxxxx]
7.3. Registration of new "addrtype" values
This memo provides instructions to IANA to register a new "addrtype"
in the Session Description Protocol Parameters registry [1]. The
registration data, according to RFC 4566 [RFC4566] follows.
Type SDP Name Reference
---- ------------------ ---------
addrtype E164 [RFCxxxx]
- [RFCxxxx]
7.4. Registration of a new "proto" value
This memo provides instructions to IANA to register a new "proto" in
the Session Description Protocol Parameters registry [1]. The
registration data, according to RFC 4566 [RFC4566] follows.
Type SDP Name Reference
-------------- --------------------------- ---------
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 22]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
proto PSTN [RFCxxxx]
7.5. Registration of a new Capability Negotiation Option Tag
This memo instructs IANA to register a new option tag in the SDP
Capability Negotiation Option Tag registry, according to the
following data:.
Option Tag name: pstn-v0
Reference: [RFCxxxx]
8. Security Considerations
This document provides an extension on top of RFC 4566 [RFC4566], RFC
3264 [RFC3264], SDP capability negotiation
[I-D.ietf-mmusic-sdp-capability-negotiation], SDP Media Capabilities
Negotiation [I-D.ietf-mmusic-sdp-media-capabilities]. As such, the
security considerations of those documents apply.
9. Acknowledgments
The authors want to thank Flemming Andreasen, Thomas Belling, Jari
Mutikainen, Miikka Poikselka, Jonathan Rosenberg, and Ingemar
Johansson for providing their insight and comments on this document.
10. References
10.1. Normative References
[I-D.ietf-mmusic-sdp-capability-negotiation]
Andreasen, F., "SDP Capability Negotiation",
draft-ietf-mmusic-sdp-capability-negotiation-08 (work in
progress), December 2007.
[I-D.ietf-mmusic-sdp-media-capabilities]
Gilman, R. and F. Andreasen, "SDP media capabilities
Negotiation", draft-ietf-mmusic-sdp-media-capabilities-03
(work in progress), February 2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the
Session Description Protocol (SDP) for ATM Bearer
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 23]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
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.
10.2. Informative References
[3GPP.24.008]
3GPP, "Mobile radio interface Layer 3 specification; Core
network protocols; Stage 3", 3GPP TS 24.008 3.20.0,
December 2005.
[ITU.E164.1991]
International Telecommunications Union, "The International
Public Telecommunication Numbering Plan", ITU-
T Recommendation E.164, 1991.
[ITU.Q931.1998]
"Digital Subscriber Signalling System No. 1 (DSS 1) - ISDN
User - Network Interface Layer 3 Specification for Basic
Call Control", ISO Standard 9594-1, May 1998.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551,
July 2003.
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message
Session Relay Protocol (MSRP)", RFC 4975, September 2007.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 24]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
URIs
[1] <http://www.iana.org/assignments/sdp-parameters>
Authors' Addresses
Miguel Garcia-Martin
Nokia Siemens Networks
P.O. Box 6
Nokia Siemens Networks, FIN 02022
Finland
Phone: +358-71400-4000
Email: miguel.garcia@nsn.com
Simo Veikkolainen
Nokia Siemens Networks
P.O. Box 6
Nokia Siemens Networks, FIN 02022
Finland
Phone: +358 50 486 4463
Email: simo.veikkolainen@nsn.com
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 25]
Internet-Draft PSTN Circuit-Switched Bearers in SDP April 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Garcia-Martin & Veikkolainen Expires October 17, 2008 [Page 26]
| PAFTECH AB 2003-2026 | 2026-04-23 04:19:55 |