draft-ietf-mmusic-sdp-cs-01.txt | draft-ietf-mmusic-sdp-cs-02.txt | |||
---|---|---|---|---|
MMUSIC WG M. Garcia-Martin | MMUSIC WG M. Garcia-Martin | |||
Internet-Draft Ericsson | Internet-Draft Ericsson | |||
Intended status: Standards Track S. Veikkolainen | Intended status: Standards Track S. Veikkolainen | |||
Expires: December 19, 2009 Nokia | Expires: April 25, 2010 Nokia | |||
June 17, 2009 | October 22, 2009 | |||
Session Description Protocol (SDP) Extension For Setting Up Audio Media | Session Description Protocol (SDP) Extension For Setting Up Audio and | |||
Streams Over Circuit-Switched Bearers In The Public Switched Telephone | Video Media Streams Over Circuit-Switched Bearers In The Public | |||
Network (PSTN) | Switched Telephone Network (PSTN) | |||
draft-ietf-mmusic-sdp-cs-01 | draft-ietf-mmusic-sdp-cs-02 | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on December 19, 2009. | This Internet-Draft will expire on April 25, 2010. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2009 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents in effect on the date of | Provisions Relating to IETF Documents in effect on the date of | |||
publication of this document (http://trustee.ietf.org/license-info). | publication of this document (http://trustee.ietf.org/license-info). | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. | and restrictions with respect to this document. | |||
Abstract | Abstract | |||
This memo describes use cases, requirements, and protocol extensions | This memo describes use cases, requirements, and protocol extensions | |||
for using the Session Description Protocol (SDP) Offer/Answer model | for using the Session Description Protocol (SDP) Offer/Answer model | |||
for establishing audio media stream over circuit-switched bearers in | for establishing audio and video media streams over circuit-switched | |||
the Public Switched Telephone Network (PSTN). | bearers in the Public Switched Telephone Network (PSTN). | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 5 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 5 | |||
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 6 | 4. Overview of Operation . . . . . . . . . . . . . . . . . . . . 6 | |||
4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 6 | 4.1. Example Call Flow . . . . . . . . . . . . . . . . . . . . 6 | |||
5. Protocol Description . . . . . . . . . . . . . . . . . . . . . 8 | 5. Protocol Description . . . . . . . . . . . . . . . . . . . . . 8 | |||
5.1. Level of Compliance . . . . . . . . . . . . . . . . . . . 8 | 5.1. Level of Compliance . . . . . . . . . . . . . . . . . . . 8 | |||
skipping to change at page 2, line 41 | skipping to change at page 2, line 41 | |||
5.2.3.5. Negotiating the used correlation mechanisms . . . 15 | 5.2.3.5. Negotiating the used correlation mechanisms . . . 15 | |||
5.3. Considerations for Usage of Existing SDP . . . . . . . . . 17 | 5.3. Considerations for Usage of Existing SDP . . . . . . . . . 17 | |||
5.3.1. Originator of the Session . . . . . . . . . . . . . . 17 | 5.3.1. Originator of the Session . . . . . . . . . . . . . . 17 | |||
5.3.2. Contact information . . . . . . . . . . . . . . . . . 17 | 5.3.2. Contact information . . . . . . . . . . . . . . . . . 17 | |||
5.3.3. Determining the Direction of the Circuit-Switched | 5.3.3. Determining the Direction of the Circuit-Switched | |||
Connection Setup . . . . . . . . . . . . . . . . . . . 17 | Connection Setup . . . . . . . . . . . . . . . . . . . 17 | |||
5.4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 18 | 5.4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 18 | |||
6. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 6. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
6.1. Basic SDP example: Single Circuit-Switched Audio Stream . 19 | 6.1. Basic SDP example: Single Circuit-Switched Audio Stream . 19 | |||
6.2. Advanced SDP example: Alternative and IP | 6.2. Advanced SDP example: Alternative and IP | |||
Circuit-Switched Audio Streams . . . . . . . . . . . . . . 20 | Circuit-Switched Audio and Video Streams . . . . . . . . . 20 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | |||
7.1. Registration of new correlation SDP attribute . . . . . . 22 | 7.1. Registration of new correlation SDP attribute . . . . . . 22 | |||
7.2. Registration of a new "nettype" value . . . . . . . . . . 22 | 7.2. Registration of a new "nettype" value . . . . . . . . . . 22 | |||
7.3. Registration of new "addrtype" values . . . . . . . . . . 22 | 7.3. Registration of new "addrtype" values . . . . . . . . . . 22 | |||
7.4. Registration of a new "proto" value . . . . . . . . . . . 22 | 7.4. Registration of a new "proto" value . . . . . . . . . . . 22 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 | 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . . 23 | 10.1. Normative References . . . . . . . . . . . . . . . . . . . 23 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . . 24 | 10.2. Informative References . . . . . . . . . . . . . . . . . . 24 | |||
skipping to change at page 4, line 35 | skipping to change at page 4, line 35 | |||
can exchange SDP media descriptions and come to an agreement as to | can exchange SDP media descriptions and come to an agreement as to | |||
which media streams should be used, along with the media related | which media streams should be used, along with the media related | |||
parameters. | parameters. | |||
In some scenarios it might be desirable to establish the media stream | In some scenarios it might be desirable to establish the media stream | |||
over a circuit-switched bearer connection even if the signaling for | over a circuit-switched bearer connection even if the signaling for | |||
the session is carried over an IP bearer. An example of such a | the session is carried over an IP bearer. An example of such a | |||
scenario is illustrated with two mobile devices capable of both | scenario is illustrated with two mobile devices capable of both | |||
circuit-switched and packet-switched communication over a low- | circuit-switched and packet-switched communication over a low- | |||
bandwidth radio bearer. The radio bearer may not be suitable for | bandwidth radio bearer. The radio bearer may not be suitable for | |||
carrying real-time audio media, and using a circuit-switched bearer | carrying real-time audio or video media, and using a circuit-switched | |||
would offer, however, a better perceived quality of service. So, | bearer would offer, however, a better perceived quality of service. | |||
according to this scenario, SDP and its higher layer session control | So, according to this scenario, SDP and its higher layer session | |||
protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are | control protocol (e.g., the Session Initiation Protocol (SIP) | |||
used over regular IP connectivity, while the audio is received | [RFC3261]) are used over regular IP connectivity, while the audio or | |||
through the classical circuit-switched bearer. | video is received through the classical circuit-switched bearer. | |||
Setting up a signaling relationship in the IP domain instead of just | Setting up a signaling relationship in the IP domain instead of just | |||
setting up a circuit-switched call offers also the possibility of | setting up a circuit-switched call offers also the possibility of | |||
negotiating in the same session other IP based media that is not | negotiating in the same session other IP based media that is not | |||
sensitive to jitter and delay, for example, text messaging or | sensitive to jitter and delay, for example, text messaging or | |||
presence information. | presence information. | |||
At a later point in time the mobile device might move to an area | At a later point in time the mobile device might move to an area | |||
where a high-bandwidth packet-switched bearer, for example a Wireless | where a high-bandwidth packet-switched bearer, for example a Wireless | |||
Local Area Network (WLAN) connection, is available. At this point | Local Area Network (WLAN) connection, is available. At this point | |||
the mobile device may perform a handover and move the audio media | the mobile device may perform a handover and move the audio or video | |||
streams over to the high-speed bearer. This implies a new exchange | media streams over to the high-speed bearer. This implies a new | |||
of SDP offer/answer that lead to a re-negotiation of the media | exchange of SDP offer/answer that lead to a re-negotiation of the | |||
streams. | media streams. | |||
Other use cases exists. For example, and endpoint might have at its | Other use cases exists. For example, and endpoint might have at its | |||
disposal circuit-switch and packet-switched connectivity, but the | disposal circuit-switch and packet-switched connectivity, but the | |||
audio codecs are not the same in both access networks. Consider that | audio or video codecs are not the same in both access networks. | |||
the circuit-switched audio stream supports narrow-bandwidth codecs, | Consider that the circuit-switched audio or video stream supports | |||
while the packet-switched access allows any other audio codec | narrow-bandwidth codecs, while the packet-switched access allows any | |||
implemented in the endpoint. In this case, it might be beneficial | other audio or video codec implemented in the endpoint. In this | |||
for the endpoint to describe different codecs for each access type | case, it might be beneficial for the endpoint to describe different | |||
and get an agreement on the bearer together with the remote endpoint. | 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 | There are additional use cases related to third party call control | |||
where the session setup time is improved when the circuit-switched | where the session setup time is improved when the circuit-switched | |||
bearer in the PSTN is described together with one or more codecs. | bearer in the PSTN is described together with one or more codecs. | |||
The rest of the document is structured as follows: Section 2 provides | The rest of the document is structured as follows: Section 2 provides | |||
the document conventions, Section 3 introduces the requirements, | the document conventions, Section 3 introduces the requirements, | |||
Section 4 presents an overview of the proposed solutions, and | Section 4 presents an overview of the proposed solutions, and | |||
Section 5 contains the protocol description. Section 6 provides a | Section 5 contains the protocol description. Section 6 provides a | |||
few examples of descriptions of circuit-switched audio streams in | few examples of descriptions of circuit-switched audio or video | |||
SDP. Section 7 and Section 8 contain the IANA and Security | streams in SDP. Section 7 and Section 8 contain the IANA and | |||
considerations, respectively. | Security considerations, respectively. | |||
2. Conventions Used in This Document | 2. Conventions Used in This Document | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in BCP 14, RFC 2119 | document are to be interpreted as described in BCP 14, RFC 2119 | |||
[RFC2119] and indicate requirement levels for compliant | [RFC2119] and indicate requirement levels for compliant | |||
implementations. | implementations. | |||
3. Requirements | 3. Requirements | |||
This section presents the general requirements that are specific for | This section presents the general requirements that are specific for | |||
the audio media stream over circuit-switched bearers. | the audio or video media stream over circuit-switched bearers. | |||
REQ-1: A mechanism for endpoints to negotiate and agree on an audio | REQ-1: A mechanism for endpoints to negotiate and agree on an audio | |||
media stream established over a circuit-switched bearer MUST | or video media stream established over a circuit-switched | |||
be available. | bearer MUST be available. | |||
REQ-2: The mechanism MUST allow the endpoints to combine circuit- | REQ-2: The mechanism MUST allow the endpoints to combine circuit- | |||
switched audio media streams with other complementary media | switched audio or video media streams with other | |||
streams, for example, text messaging. | complementary media streams, for example, text messaging. | |||
REQ-3: The mechanism MUST allow the endpoint to negotiate the | REQ-3: The mechanism MUST allow the endpoint to negotiate the | |||
direction of the circuit-switched connection, i.e., which | direction of the circuit-switched connection, i.e., which | |||
endpoint is active when initiating the circuit-switched | endpoint is active when initiating the circuit-switched | |||
connection. | connection. | |||
REQ-4: The mechanism MUST be independent of the type of the circuit- | REQ-4: The mechanism MUST be independent of the type of the circuit- | |||
switched access (e.g., Integrated Services Digital Network | switched access (e.g., Integrated Services Digital Network | |||
(ISDN), Global System for Mobile Communication (GSM), etc.) | (ISDN), Global System for Mobile Communication (GSM), etc.) | |||
REQ-5: There MUST be a mechanism that helps an endpoint to correlate | REQ-5: There MUST be a mechanism that helps an endpoint to correlate | |||
an incoming circuit-switched bearer with the one negotiated | an incoming circuit-switched bearer with the one negotiated | |||
in SDP, as opposed to another incoming call that is not | in SDP, as opposed to another incoming call that is not | |||
related to that. | related to that. | |||
REQ-6: It must be possible for endpoints to advertise different list | REQ-6: It must be possible for endpoints to advertise different list | |||
of audio codecs in the circuit-switched audio stream from | of audio or video codecs in the circuit-switched audio or | |||
those used in a packet-switched audio stream. | 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 | REQ-7: It must be possible for endpoints to not advertise the list | |||
of available codecs for circuit-switched audio streams. | of available codecs for circuit-switched audio or video | |||
streams. | ||||
4. Overview of Operation | 4. Overview of Operation | |||
The mechanism defined in this memo extends SDP and allows describing | The mechanism defined in this memo extends SDP and allows describing | |||
an audio media stream established over a circuit-switched bearer. | an audio or video media stream established over a circuit-switched | |||
New tokens are registered in the "c=" and "m=" lines to be able to | bearer. New tokens are registered in the "c=" and "m=" lines to be | |||
describe an audio media stream over a circuit-switched bearer. These | able to describe a media stream over a circuit-switched bearer. | |||
SDP extensions are described in Section 5.2. Since circuit-switched | These SDP extensions are described in Section 5.2. Since circuit- | |||
bearers are a sort of connection-oriented media streams, the | switched bearers are a sort of connection-oriented media streams, the | |||
mechanism re-uses the connection-oriented extensions defined in RFC | mechanism re-uses the connection-oriented extensions defined in RFC | |||
4145 [RFC4145] to negotiate the active and passive sides of a | 4145 [RFC4145] to negotiate the active and passive sides of a | |||
connection setup. This is further described in Section 5.3.3. | connection setup. This is further described in Section 5.3.3. | |||
4.1. Example Call Flow | 4.1. Example Call Flow | |||
Consider the example presented in Figure 1. In this example, Alice | Consider the example presented in Figure 1. In this example, Alice | |||
is located in an environment where she has access to both IP and | is located in an environment where she has access to both IP and | |||
circuit-switched bearers for communicating with other endpoints. | circuit-switched bearers for communicating with other endpoints. | |||
Alice decides that the circuit-switched bearer offers a better | Alice decides that the circuit-switched bearer offers a better | |||
skipping to change at page 8, line 16 | skipping to change at page 8, line 16 | |||
5.1. Level of Compliance | 5.1. Level of Compliance | |||
Implementations according to this specification MUST implement the | Implementations according to this specification MUST implement the | |||
SDP extensions described in Section 5.2, and MUST implement the | SDP extensions described in Section 5.2, and MUST implement the | |||
considerations discussed in Section 5.3. | considerations discussed in Section 5.3. | |||
5.2. Extensions to SDP | 5.2. Extensions to SDP | |||
This section provides the syntax and semantics of the extensions | This section provides the syntax and semantics of the extensions | |||
required for providing a description of audio media streams over | required for providing a description of audio or video media streams | |||
circuit-switched bearers in SDP. | over circuit-switched bearers in SDP. | |||
5.2.1. Connection Data | 5.2.1. Connection Data | |||
According to SDP [RFC4566], the connection data line in SDP has the | According to SDP [RFC4566], the connection data line in SDP has the | |||
following syntax: | following syntax: | |||
c=<nettype> <addrtype> <connection-address> | c=<nettype> <addrtype> <connection-address> | |||
where <nettype> indicates the network type, <addrtype> indicates the | where <nettype> indicates the network type, <addrtype> indicates the | |||
address type, and the <connection-address> is the connection address, | address type, and the <connection-address> is the connection address, | |||
skipping to change at page 9, line 23 | skipping to change at page 9, line 23 | |||
c=PSTN - - | c=PSTN - - | |||
5.2.2. Media Descriptions | 5.2.2. Media Descriptions | |||
According to SDP [RFC4566], the media descriptions line in SDP has | According to SDP [RFC4566], the media descriptions line in SDP has | |||
the following syntax: | the following syntax: | |||
m=<media> <port> <proto> <fmt> ... | m=<media> <port> <proto> <fmt> ... | |||
The <media> sub-field carries the media type. Since this document | The <media> sub-field carries the media type. For establishing an | |||
deals with establishing an audio bearer, the existing "audio" media | audio bearer, the existing "audio" media type is used. For | |||
type is used. | establishing a video bearer, the existing "video" media type is used. | |||
The <port> sub-field is the transport port to which the media stream | 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, | 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". | 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 | According to RFC 3264 [RFC3264], a port number of zero in the offer | |||
of a unicast stream indicates that the stream is offered but must not | of a unicast stream indicates that the stream is offered but must not | |||
be used. If a port number of zero is present in the answer of a | be used. If a port number of zero is present in the answer of a | |||
unicast stream, it indicates that the stream is rejected. These | unicast stream, it indicates that the stream is rejected. These | |||
rules are still valid when the media line in SDP represents a | rules are still valid when the media line in SDP represents a | |||
skipping to change at page 9, line 51 | skipping to change at page 9, line 51 | |||
syntactically correct with SDP [RFC4566] and to indicate the usage of | syntactically correct with SDP [RFC4566] and to indicate the usage of | |||
circuit-switched protocols in the PSTN. | circuit-switched protocols in the PSTN. | |||
The <fmt> sub-field is the media format description. In the | The <fmt> sub-field is the media format description. In the | |||
classical usage of SDP to describe RTP-based media streams, when the | classical usage of SDP to describe RTP-based media streams, when the | |||
<proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub- | <proto> sub-field is set to "RTP/AVP" or "RTP/SAVP", the <fmt> sub- | |||
field contains the payload types as defined in the RTP audio profile | field contains the payload types as defined in the RTP audio profile | |||
[RFC3551]. | [RFC3551]. | |||
In the case of circuit-switched descriptions, RTP is not really used. | In the case of circuit-switched descriptions, RTP is not really used. | |||
Rather than specifying the RTP audio profile payload type, we use the | Rather than specifying the RTP audio/video profile payload type, we | |||
<fmt> sub-field to indicate the list of available media types over | use the <fmt> sub-field to indicate the list of available media types | |||
the circuit-switched bearer. Therefore, the <fmt> sub-field MAY | over the circuit-switched bearer. Therefore, the <fmt> sub-field MAY | |||
indicate one or more available audio codecs for a circuit-switched | indicate one or more available audio or video codecs for a circuit- | |||
audio stream. We use the classical RTP audio media types, even when | switched audio or video stream. We use the classical RTP audio and | |||
applied to PSTN circuit-switched bearers, the media type merely | video media types, even when applied to PSTN circuit-switched | |||
represents an audio codec. | bearers, the media type merely represents an audio or video codec. | |||
However, in some cases, the endpoint is not able to determine the | However, in some cases, the endpoint is not able to determine the | |||
list of available codecs for circuit-switched audio streams. In this | list of available codecs for circuit-switched media streams. In this | |||
case, in order to be syntactically compliant with SDP [RFC4566], the | case, in order to be syntactically compliant with SDP [RFC4566], the | |||
endpoint MUST include a single dash "-" in the <fmt> sub-field. | endpoint MUST include a single dash "-" in the <fmt> sub-field. | |||
As per RFC 4566 [RFC4566], the media format descriptions are listed | As per RFC 4566 [RFC4566], the media format descriptions are listed | |||
in priority order. | in priority order. | |||
Example of a media description for circuit-switched audio streams is: | Example of a media description for circuit-switched audio streams is: | |||
m=audio 9 PSTN 3 0 8 | m=audio 9 PSTN 3 0 8 | |||
m=audio 9 PSTN - | m=audio 9 PSTN - | |||
Similarly, an example of a media description for circuit-switched | ||||
video stream is: | ||||
m=video 9 PSTN 34 | ||||
m=video 9 PSTN - | ||||
5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP | 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP | |||
The endpoints should be able to correlate the circuit-switched bearer | The endpoints should be able to correlate the circuit-switched bearer | |||
with the session negotiated with SDP to avoid ringing for an incoming | with the session negotiated with SDP to avoid ringing for an incoming | |||
circuit-switched bearer that is related to the session controlled | circuit-switched bearer that is related to the session controlled | |||
with SDP (and SIP). | with SDP (and SIP). | |||
Several alternatives exist for performing this correlation. This | Several alternatives exist for performing this correlation. This | |||
memo provides three mutually non-exclusive correlation mechanisms. | memo provides three mutually non-exclusive correlation mechanisms. | |||
Other correlation mechanisms might exist as well, and their usage | Other correlation mechanisms might exist as well, and their usage | |||
skipping to change at page 11, line 4 | skipping to change at page 11, line 12 | |||
between the endpoints. The caller-ID is also available as the | between the endpoints. The caller-ID is also available as the | |||
Calling Party ID in the circuit-switched signaling. | Calling Party ID in the circuit-switched signaling. | |||
The second mechanism is based on the inclusion in SDP of a value that | The second mechanism is based on the inclusion in SDP of a value that | |||
is also sent in the User-to-User Information Element that is part of | is also sent in the User-to-User Information Element that is part of | |||
the bearer setup signaling in the PSTN. | the bearer setup signaling in the PSTN. | |||
The third mechanism is based on sending in SDP a string that | The third mechanism is based on sending in SDP a string that | |||
represents Dual Tone MultiFrequency (DTMF) digits that will be later | represents Dual Tone MultiFrequency (DTMF) digits that will be later | |||
sent right after the circuit-switched bearer is established. | sent right after the circuit-switched bearer is established. | |||
Implementations MAY use any of these mechanisms and MAY use two or | Implementations MAY use any of these mechanisms and MAY use two or | |||
more mechanisms simultaneously. | more mechanisms simultaneously. | |||
5.2.3.1. The "correlation" attribute | 5.2.3.1. The "correlation" attribute | |||
In order to provide support for the correlation mechanisms, we define | In order to provide support for the correlation mechanisms, we define | |||
a new SDP attribute called "correlation". This "correlation" | a new SDP attribute called "cs-correlation". This "cs-correlation" | |||
attribute can include any of the "callerid", "uuie", or "dtmf" | attribute can include any of the "callerid", "uuie", or "dtmf" | |||
parameters, which specify additional information required by the | parameters, which specify additional information required by the | |||
Caller-ID, User to User Information, or DTMF correlation mechanisms, | Caller-ID, User to User Information, or DTMF correlation mechanisms, | |||
respectively. | respectively. | |||
The following sections provide more detailed information of these | The following sections provide more detailed information of these | |||
parameters. The "correlation" attribute has the following format: | parameters. The "cs-correlation" attribute has the following format: | |||
"a=correlation: "callerid:<callerid-value>" | | "a=cs-correlation: "callerid:<callerid-value>" | | |||
"uuie:<uuie-value>" | | "uuie:<uuie-value>" | | |||
"dtmf:<dtmf-value>" | "dtmf:<dtmf-value>" | |||
The values "callerid", "uuie" and "dtmf" refer to the correlation | The values "callerid", "uuie" and "dtmf" refer to the correlation | |||
mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and | mechanisms defined in Section 5.2.3.2, Section 5.2.3.3, and | |||
Section 5.2.3.4, respectively. The formal Augmented Backus-Naur | Section 5.2.3.4, respectively. The formal Augmented Backus-Naur | |||
Format (ABNF) syntax of the "correlation" attribute is presented in | Format (ABNF) syntax of the "cs-correlation" attribute is presented | |||
Section 5.4. | in Section 5.4. | |||
5.2.3.2. Caller-ID Correlation Mechanism | 5.2.3.2. Caller-ID Correlation Mechanism | |||
The Caller-ID correlation mechanisms consists of an exchange of the | The Caller-ID correlation mechanisms consists of an exchange of the | |||
calling party number in E.164 format in SDP, followed by the | calling party number in E.164 format in SDP, followed by the | |||
availability of the Calling Party Number information element in the | availability of the Calling Party Number information element in the | |||
call setup signaling of the circuit switched connection. If both | call setup signaling of the circuit switched connection. If both | |||
pieces of information match, the circuit-switched bearer is | pieces of information match, the circuit-switched bearer is | |||
correlated to the session described in SDP. | correlated to the session described in SDP. | |||
An endpoint that is feasible to become the active party for setting | An endpoint that is feasible to become the active party for setting | |||
up the circuit-switched bearer and is willing to send the Calling | up the circuit-switched bearer and is willing to send the Calling | |||
Party Number in the PSTN signaling SHOULD add a "callerid" parameter | Party Number in the PSTN signaling SHOULD add a "callerid" parameter | |||
in the "correlation" attribute of the SDP offer or answer, and SHOULD | in the "cs-correlation" attribute of the SDP offer or answer, and | |||
include as the value the E.164 number that will be presented in the | SHOULD include as the value the E.164 number that will be presented | |||
Calling Party Number in the PSTN signaling. | in the Calling Party Number in the PSTN signaling. | |||
An endpoint that acts as the passive party for setting up the | An endpoint that acts as the passive party for setting up the | |||
circuit-switch bearer SHOULD add a "callerid" parameter in the | circuit-switch bearer SHOULD add a "callerid" parameter in the "cs- | |||
"correlation" attribute of the SDP if it supports the mechanism, and | correlation" attribute of the SDP if it supports the mechanism, and | |||
MAY include the E.164 number that will be presented in the circuit- | MAY include the E.164 number that will be presented in the circuit- | |||
switched bearer in the same corresponding lines, although these are | switched bearer in the same corresponding lines, although these are | |||
not used for correlation. | not used for correlation. | |||
Example of inclusion of E.164 number in the "correlation" attribute | Example of inclusion of E.164 number in the "cs-correlation" | |||
is: | attribute is: | |||
a=correlation:callerid:+15551234 | a=cs-correlation:callerid:+15551234 | |||
Please note that there are no warranties that this correlation | Please note that there are no warranties that this correlation | |||
mechanism works or is even available, due a number of problems: | 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 | o The endpoint might not be aware of its own E.164 number, in which | |||
case it cannot populate the SDP appropriately. | case it cannot populate the SDP appropriately. | |||
o The Calling Party Number information element in the circuit- | o The Calling Party Number information element in the circuit- | |||
switched signaling might not be available, e.g., due to policy | switched signaling might not be available, e.g., due to policy | |||
restrictions of the network operator or caller restriction due to | restrictions of the network operator or caller restriction due to | |||
skipping to change at page 12, line 47 | skipping to change at page 13, line 5 | |||
that represents the User-User Information Element that is part of the | that represents the User-User Information Element that is part of the | |||
call setup signaling of the circuit-switched bearer. The User-User | call setup signaling of the circuit-switched bearer. The User-User | |||
Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and | Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and | |||
3GPP TS 24.008 [3GPP.24.008], among others. The User-User | 3GPP TS 24.008 [3GPP.24.008], among others. The User-User | |||
Information Element has a maximum size of 35 or 131 octets, depending | Information Element has a maximum size of 35 or 131 octets, depending | |||
on the actual message of the PSTN protocol where it is included. | on the actual message of the PSTN protocol where it is included. | |||
The mechanism works as follows: An endpoint creates a User-User | The mechanism works as follows: An endpoint creates a User-User | |||
Information Element, according to the requirement of the call setup | Information Element, according to the requirement of the call setup | |||
signaling protocol. The same value is included in the SDP offer or | signaling protocol. The same value is included in the SDP offer or | |||
SDP answer, in a correlation:uuie attribute. When the SDP offer/ | SDP answer, in a "cs-correlation:uuie" attribute. When the SDP | |||
answer exchange is completed, each endpoint has become aware of the | offer/answer exchange is completed, each endpoint has become aware of | |||
value that will be used in the User-User Information Element of the | the value that will be used in the User-User Information Element of | |||
call setup message of the PSTN protocol. The endpoint that initiates | the call setup message of the PSTN protocol. The endpoint that | |||
the call setup attempt includes this value in the User-User | initiates the call setup attempt includes this value in the User-User | |||
Information Element. The recipient of the call setup attempt can | Information Element. The recipient of the call setup attempt can | |||
extract the User-User Information Element and correlate it with the | extract the User-User Information Element and correlate it with the | |||
value previously received in the SDP. If both values match, then the | value previously received in the SDP. If both values match, then the | |||
call setup attempt corresponds to that indicated in the SDP. | call setup attempt corresponds to that indicated in the SDP. | |||
Note that, for correlation purposes, the value of the User-User | Note that, for correlation purposes, the value of the User-User | |||
Information Element is considered as a opaque string and only used | Information Element is considered as a opaque string and only used | |||
for correlation purposes. Typically call signaling protocols impose | for correlation purposes. Typically call signaling protocols impose | |||
requirements on the creation of User-User Information Element for | requirements on the creation of User-User Information Element for | |||
end-user protocol exchange. The details regarding the generation of | end-user protocol exchange. The details regarding the generation of | |||
the User-User Information Element are outside the scope of this | the User-User Information Element are outside the scope of this | |||
specification. | specification. | |||
An endpoint that is feasible to become the active party for setting | An endpoint that is feasible to become the active party for setting | |||
up the PSTN call and is willing to send the User-User Information | up the PSTN call and is willing to send the User-User Information | |||
Element in the PSTN signaling SHOULD add a "uuie" parameter in the | Element in the PSTN signaling SHOULD add a "uuie" parameter in the | |||
"correlation" attribute of the SDP offer or answer. This "uuie" | "cs-correlation" attribute of the SDP offer or answer. This "uuie" | |||
parameter SHOULD include the value of the User-User Information | parameter SHOULD include the value of the User-User Information | |||
Element that will be used in the call setup attempt. | Element that will be used in the call setup attempt. | |||
An endpoint that takes the role of the passive party for setting up | An endpoint that takes the role of the passive party for setting up | |||
the circuit-switched bearer SHOULD include include a "uuie" parameter | the circuit-switched bearer SHOULD include include a "uuie" parameter | |||
in the "correlation" attribute in the SDP, if it supports the UUI | in the "cs-correlation" attribute in the SDP, if it supports the UUI | |||
mechanism. It MAY also add a value for the "uuie" parameter although | mechanism. It MAY also add a value for the "uuie" parameter although | |||
it is not used for correlation purposes. | it is not used for correlation purposes. | |||
Please note that there are no warranties that this correlation | Please note that there are no warranties that this correlation | |||
mechanism works. On one side, policy restrictions might not make the | mechanism works. On one side, policy restrictions might not make the | |||
User-User information available end to end in the PSTN. On the other | User-User information available end to end in the PSTN. On the other | |||
hand, the generation of the User-User Information Element is | hand, the generation of the User-User Information Element is | |||
controlled by the PSTN circuit-switched call protocol, which might | controlled by the PSTN circuit-switched call protocol, which might | |||
not offer enough freedom for generating different values from one | not offer enough freedom for generating different values from one | |||
endpoint to another one, or from one call to another in the same | endpoint to another one, or from one call to another in the same | |||
skipping to change at page 14, line 7 | skipping to change at page 14, line 14 | |||
(DTMF)tones over the circuit-switched bearer once this bearer is | (DTMF)tones over the circuit-switched bearer once this bearer is | |||
established. If the DTMF digit sequence received through the | established. If the DTMF digit sequence received through the | |||
circuit-switched bearer matches the digit string negotiated in the | circuit-switched bearer matches the digit string negotiated in the | |||
SDP, the circuit-switched bearer is correlated with the session | SDP, the circuit-switched bearer is correlated with the session | |||
described in the SDP. The mechanism is similar to many voice | described in the SDP. The mechanism is similar to many voice | |||
conferencing systems which require the user to enter a PIN code using | conferencing systems which require the user to enter a PIN code using | |||
DTMF tones in order to be accepted in a voice conference. | DTMF tones in order to be accepted in a voice conference. | |||
The mechanism works as follows: An endpoint selects a DTMF digit | The mechanism works as follows: An endpoint selects a DTMF digit | |||
sequence. The same sequence is included in the SDP offer or SDP | sequence. The same sequence is included in the SDP offer or SDP | |||
answer, in a "correlation:dtmf" attribute. When the SDP offer/answer | answer, in a "cs-correlation:dtmf" attribute. When the SDP offer/ | |||
exchange is completed, each endpoint has become aware of the DTMF | answer exchange is completed, each endpoint has become aware of the | |||
sequence that will be sent right after the circuit-switched bearer is | DTMF sequence that will be sent right after the circuit-switched | |||
set up. The endpoint that initiates the call setup attempt sends the | bearer is set up. The endpoint that initiates the call setup attempt | |||
DTMF digits as per the procedures defined for the circuit-switched | sends the DTMF digits as per the procedures defined for the circuit- | |||
bearer technology used. The recipient (passive side of the bearer | switched bearer technology used. The recipient (passive side of the | |||
setup) of the call setup attempt collects the digits and correlates | bearer setup) of the call setup attempt collects the digits and | |||
them with the value previously received in the SDP. If the digits | correlates them with the value previously received in the SDP. If | |||
match, then the call setup attempt corresponds to that indicated in | the digits match, then the call setup attempt corresponds to that | |||
the SDP. | indicated in the SDP. | |||
An endpoint that is feasible to become the active party for setting | An endpoint that is feasible to become the active party for setting | |||
up the PSTN call and is willing to send the DTMF digits after | up the PSTN call and is willing to send the DTMF digits after | |||
circuit-switched bearer cut-through SHOULD include a "dtmf" parameter | circuit-switched bearer cut-through SHOULD include a "dtmf" parameter | |||
in the "correlation" attribute of the SDP offer or answer. The value | in the "cs-correlation" attribute of the SDP offer or answer. The | |||
of the "dtmf" parameter SHOULD contain up to 32 randomly selected | value of the "dtmf" parameter SHOULD contain up to 32 randomly | |||
DTMF digits (numbers 0-9, characters A-D, "#" and "*"). | selected DTMF digits (numbers 0-9, characters A-D, "#" and "*"). | |||
Implementations are advised to select a number of DTMF digits that | Implementations are advised to select a number of DTMF digits that | |||
provide enough assurance that the call is related, but on the | provide enough assurance that the call is related, but on the | |||
other hand do not prolong the bearer setup time unnecessarily. | other hand do not prolong the bearer setup time unnecessarily. | |||
As an example, an endpoint willing to send DTMF tone sequence "14D*3" | As an example, an endpoint willing to send DTMF tone sequence "14D*3" | |||
would include a "correlation" attribute line as follows: | would include a "cs-correlation" attribute line as follows: | |||
a=correlation:dtmf:14D*3 | a=cs-correlation:dtmf:14D*3 | |||
An endpoint that takes the role of the passive party for setting up | An endpoint that takes the role of the passive party for setting up | |||
the circuit-switched bearer SHOULD include include a "dtmf" parameter | the circuit-switched bearer SHOULD include include a "dtmf" parameter | |||
in the "correlation" attribute in the SDP, if it supports the | in the "cs-correlation" attribute in the SDP, if it supports the | |||
mechanism. It MAY also add a value for the "dtmf" parameter although | mechanism. It MAY also add a value for the "dtmf" parameter although | |||
it is not used for correlation purposes. | it is not used for correlation purposes. | |||
Once the circuit-switched bearer is successfully set up, the active | Once the circuit-switched bearer is successfully set up, the active | |||
side MUST send DTMF digits according to the circuit-switched bearer | side MUST send DTMF digits according to the circuit-switched bearer | |||
technology used. The values and number of the DTMF digits MUST match | technology used. The values and number of the DTMF digits MUST match | |||
those that were agreed during SDP negotiation. | those that were agreed during SDP negotiation. | |||
The passive side of the circuit-switched connection setup MUST be | The passive side of the circuit-switched connection setup MUST be | |||
prepared to receive and collect DTMF digits once the circuit-switched | prepared to receive and collect DTMF digits once the circuit-switched | |||
bearer is set up. The received DTMF digits are compared to the value | bearer is set up. The received DTMF digits are compared to the value | |||
of the "dtmf" parameter of the "correlation" attribute that the the | of the "dtmf" parameter of the "cs-correlation" attribute that the | |||
active side sent during SDP offer/answer exchange. If the received | the active side sent during SDP offer/answer exchange. If the | |||
DTMF digits match the value of the "dtmf" parameter in the | received DTMF digits match the value of the "dtmf" parameter in the | |||
"correlation" attribute, the call SHOULD be treated as correlated to | "cs-correlation" attribute, the call SHOULD be treated as correlated | |||
the ongoing session. | to the ongoing session. | |||
If the offerer and answerer successfully agree on the usage of the | If the offerer and answerer successfully agree on the usage of the | |||
DTMF digit correlation mechanism, but the passive side does not | DTMF digit correlation mechanism, but the passive side does not | |||
receive any DTMF digits after successful circuit-switched bearer | receive any DTMF digits after successful circuit-switched bearer | |||
setup, or receives a set of DTMF digits that do not match the value | setup, or receives a set of DTMF digits that do not match the value | |||
of the "dtmf" attribute (including receving too many digits), the | of the "dtmf" attribute (including receving too many digits), the | |||
passive side SHOULD treat the circuit-switched bearer as not | passive side SHOULD treat the circuit-switched bearer as not | |||
correlated to the ongoing session. | correlated to the ongoing session. | |||
DTMF digits can only be sent once the circuit-switched bearer is | DTMF digits can only be sent once the circuit-switched bearer is | |||
skipping to change at page 15, line 35 | skipping to change at page 15, line 44 | |||
In order to agree which correlation mechanisms are supported by each | In order to agree which correlation mechanisms are supported by each | |||
endpoint, we define a negotiation mechanism similar to the one | endpoint, we define a negotiation mechanism similar to the one | |||
defined for codec negotiation. | defined for codec negotiation. | |||
In some cases an endpoint may support the correlation mechanism, but | In some cases an endpoint may support the correlation mechanism, but | |||
it is not willing to become the active party in the circuit-switched | it is not willing to become the active party in the circuit-switched | |||
bearer establishment. | bearer establishment. | |||
If the offerer supports any of the correlation mechanisms defined in | If the offerer supports any of the correlation mechanisms defined in | |||
this memo, it SHOULD include an attribute line "a=correlation" in the | this memo, it SHOULD include an attribute line "a=cs-correlation" in | |||
SDP offer. The "a=correlation" line contains an enumeration of the | the SDP offer. The "a=cs-correlation" line contains an enumeration | |||
correlation mechanisms supported by the offerer, in the format of | of the correlation mechanisms supported by the offerer, in the format | |||
parameters. The current list of parameters include "callerid", | of parameters. The current list of parameters include "callerid", | |||
"uuie" and "dtmf" and they refer to the correlation mechanisms | "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, | defined in Section 5.2.3.2, Section 5.2.3.3, and Section 5.2.3.4, | |||
respectively. For example, if an endpoint is willing to use the | respectively. For example, if an endpoint is willing to use the | |||
User-User Information element and DTMF digit sending mechanisms, it | User-User Information element and DTMF digit sending mechanisms, it | |||
includes the following line to the SDP: | includes the following line to the SDP: | |||
a=correlation:uuie dtmf | a=cs-correlation:uuie dtmf | |||
The answerer, when generating the answer, SHOULD select those | The answerer, when generating the answer, SHOULD select those | |||
correlation mechanisms it supports, and include an "a=correlation" | correlation mechanisms it supports, and include an "a=cs-correlation" | |||
attribute line in the answer containing those mechanisms it supports. | attribute line in the answer containing those mechanisms it supports. | |||
The answerer MUST NOT add any mechanism which was not included in the | The answerer MUST NOT add any mechanism which was not included in the | |||
offer. | offer. | |||
If the answer does not contain an "a=correlation" attribute line, the | If the answer does not contain an "a=cs-correlation" attribute line, | |||
offerer MUST interpret this as an indication that the anwerer does | the offerer MUST interpret this as an indication that the anwerer | |||
not support any of the correlation mechanisms for this session. | does not support any of the correlation mechanisms for this session. | |||
If, in addition to supporting any of the correlation mechanisms, an | If, in addition to supporting any of the correlation mechanisms, an | |||
endpoint is willing to assume the role of the active party in | endpoint is willing to assume the role of the active party in | |||
establishing the circuit-switched bearer, it MUST add a parameter | establishing the circuit-switched bearer, it MUST add a parameter | |||
value to the supported mechanisms. For example, if the endpoint | value to the supported mechanisms. For example, if the endpoint | |||
supports and is willing to send the User-User Information element and | supports and is willing to send the User-User Information element and | |||
DTMF digits, it includes the following line to the SDP offer: | DTMF digits, it includes the following line to the SDP offer: | |||
a=correlation:uuie:2890W284hAT452612908awudfjang908 dtmf:14D*3 | a=cs-correlation:uuie:2890W284hAT452612908awudfjang908 dtmf:14D*3 | |||
The answerer SHOULD select those correlation mechanisms it supports | The answerer SHOULD select those correlation mechanisms it supports | |||
and is willing to use, and include respective parameter values. If | and is willing to use, and include respective parameter values. If | |||
the answerer supports but is not willing to use some of the | the answerer supports but is not willing to use some of the | |||
mechanisms (for example, due to not being able to become the active | mechanisms (for example, due to not being able to become the active | |||
endpoint when setting up the circuit-switched bearer), it SHOULD | endpoint when setting up the circuit-switched bearer), it SHOULD | |||
include the respective parameter, but MUST NOT add a value to the | include the respective parameter, but MUST NOT add a value to the | |||
parameter. | parameter. | |||
Note that, as stated above, it cannot be guaranteed that any given | Note that, as stated above, it cannot be guaranteed that any given | |||
skipping to change at page 17, line 23 | skipping to change at page 17, line 31 | |||
According to SDP [RFC4566], the origin line in SDP has the following | According to SDP [RFC4566], the origin line in SDP has the following | |||
syntax: | syntax: | |||
o=<username> <sess-id> <sess-version> <nettype> <addrtype> | o=<username> <sess-id> <sess-version> <nettype> <addrtype> | |||
<unicast-address> | <unicast-address> | |||
Of interest here are the <nettype> and <addrtype> fields, which | Of interest here are the <nettype> and <addrtype> fields, which | |||
indicate the type of network and type of address, respectively. | indicate the type of network and type of address, respectively. | |||
Typically, this field carries the IP address of the originator of the | Typically, this field carries the IP address of the originator of the | |||
session. Even if the SDP was used to negotiate an audio media stream | session. Even if the SDP was used to negotiate an audio or video | |||
transported over a circuit-switched bearer, the originator is using | media stream transported over a circuit-switched bearer, the | |||
SDP over an IP bearer. Therefore, <nettype> and <addrtype> fields in | originator is using SDP over an IP bearer. Therefore, <nettype> and | |||
the "o=" line should be populated with the IP address identifying the | <addrtype> fields in the "o=" line should be populated with the IP | |||
source of the signaling. | address identifying the source of the signaling. | |||
5.3.2. Contact information | 5.3.2. Contact information | |||
SDP [RFC4566] defines the "p=" line which may include the phone | SDP [RFC4566] defines the "p=" line which may include the phone | |||
number of the person reponsible for the conference. Even though this | number of the person reponsible for the conference. Even though this | |||
line can carry a phone number, it is not suited for the purpose of | line can carry a phone number, it is not suited for the purpose of | |||
defining a connection address for the media. Therefore, we have | defining a connection address for the media. Therefore, we have | |||
selected to define the PSTN specific connection addresses in the "c=" | selected to define the PSTN specific connection addresses in the "c=" | |||
line. | line. | |||
skipping to change at page 19, line 17 | skipping to change at page 19, line 17 | |||
connection-field = [%x63 "=" nettype SP addrtype SP | connection-field = [%x63 "=" nettype SP addrtype SP | |||
connection-address CRLF] | connection-address CRLF] | |||
;nettype and addrtype are defined in RFC 4566 | ;nettype and addrtype are defined in RFC 4566 | |||
connection-address /= e164-address / "-" | connection-address /= e164-address / "-" | |||
e164-address = ["+"] 1*15DIGIT | e164-address = ["+"] 1*15DIGIT | |||
; DIGIT is specified in RFC 5234 | ; DIGIT is specified in RFC 5234 | |||
;subrules for correlation attribute | ;subrules for correlation attribute | |||
attribute /= correlation-attr | attribute /= cs-correlation-attr | |||
; attribute defined in RFC 4566 | ; attribute defined in RFC 4566 | |||
correlation-attr = "correlation:" corr-mechanisms | cs-correlation-attr= "cs-correlation:" corr-mechanisms | |||
corr-mechanisms = corr-mech *(SP corr-mech) | corr-mechanisms = corr-mech *(SP corr-mech) | |||
corr-mech = caller-id-mech / uuie-mech / dtmf-mech | corr-mech = caller-id-mech / uuie-mech / dtmf-mech | |||
caller-id-mech = "callerid" [":" caller-id-value] | caller-id-mech = "callerid" [":" caller-id-value] | |||
caller-id-value = ["+"] 1*DIGIT | caller-id-value = ["+"] 1*DIGIT | |||
uuie-mech = "uuie" [":" uuie-value] | uuie-mech = "uuie" [":" uuie-value] | |||
uuie-value = 1*32(ALPHA/DIGIT) | uuie-value = 1*32(ALPHA/DIGIT) | |||
dtmf-mech = "dtmf" [":" dtmf-value] | dtmf-mech = "dtmf" [":" dtmf-value] | |||
dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A ) | dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A ) | |||
;0-9, A-D, '#' and '*' | ;0-9, A-D, '#' and '*' | |||
skipping to change at page 20, line 23 | skipping to change at page 20, line 23 | |||
endpoint initiates the PSTN call. | endpoint initiates the PSTN call. | |||
v=0 | v=0 | |||
o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5 | o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5 | |||
s= | s= | |||
t=0 0 | t=0 0 | |||
m=audio 9 PSTN - | m=audio 9 PSTN - | |||
c=PSTN E164 +15551234 | c=PSTN E164 +15551234 | |||
a=setup:actpass | a=setup:actpass | |||
a=connection:new | a=connection:new | |||
a=correlation:uuie:2890W284hAT452612908awudfjang908 | a=cs-correlation:uuie:2890W284hAT452612908awudfjang908 | |||
Figure 4: SDP offer (1) | Figure 4: SDP offer (1) | |||
6.2. Advanced SDP example: Alternative and IP Circuit-Switched Audio | 6.2. Advanced SDP example: Alternative and IP Circuit-Switched Audio | |||
Streams | and Video Streams | |||
Alice Bob | Alice Bob | |||
| | | | | | |||
| (1) SDP Offer (IP and PSTN audio)| | | (1) SDP Offer (IP and PSTN audio and video)| | |||
|--------------------------------->| | |------------------------------------------->| | |||
| | | | | | |||
| (2) SDP Answer (PSTN audio) | | | (2) SDP Answer (PSTN audio and video) | | |||
|<---------------------------------| | |<-------------------------------------------| | |||
| | | | | | |||
| PSTN call setup | | | PSTN call setup | | |||
|<---------------------------------| | |<-------------------------------------------| | |||
| | | | | | |||
|<==== media over PSTN bearer ====>| | |<======== media over PSTN bearer ==========>| | |||
| | | | | | |||
Figure 5: Alternative media | Figure 5: Alternative media | |||
Figure 5 shows an example of negotiating audio media streams over IP | Figure 5 shows an example of negotiating audio and video media | |||
or circuit-switched bearers. Using the mechanisms described in SDP | streams over IP or circuit-switched bearers. Using the mechanisms | |||
Capability Negotiation Framework | described in SDP Capability Negotiation Framework | |||
[I-D.ietf-mmusic-sdp-capability-negotiation] and extensions thereof | [I-D.ietf-mmusic-sdp-capability-negotiation] and extensions thereof | |||
(SDP media capabilities Negotiation | (SDP media capabilities Negotiation | |||
[I-D.ietf-mmusic-sdp-media-capabilities] and SDP Miscellaneous | [I-D.ietf-mmusic-sdp-media-capabilities] and SDP Miscellaneous | |||
Capabilities [I-D.garcia-mmusic-sdp-misc-cap]) it is possible to | Capabilities [I-D.garcia-mmusic-sdp-misc-cap]) it is possible to | |||
construct an SDP offer where audio media can be offered alternatively | construct an SDP offer where audio and video media can be offered | |||
over IP or circuit-switched bearer. | alternatively over IP or circuit-switched bearer. | |||
v=0 | v=0 | |||
o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5 | o=jdoe 2890844526 2890842807 IN IP4 192.0.2.5 | |||
s= | s= | |||
t=0 0 | t=0 0 | |||
m=audio 49170 RTP/AVP 0 8 3 | ||||
c=IN IP4 192.0.2.5 | c=IN IP4 192.0.2.5 | |||
a=sescap:1 1,3 | ||||
a=sescap:2 2,4 | ||||
a=creq:med-v0,ccap-v0 | a=creq:med-v0,ccap-v0 | |||
a=mcap:1 PCMU/8000/1 | a=acap:1 cs-correlation:uuie:2890W284hAT452612908awudfjang908 | |||
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 correlation:uuie:2890W284hAT452612908awudfjang908 | ||||
a=acap:2 setup:actpass | a=acap:2 setup:actpass | |||
a=acap:3 connection:new | a=acap:3 connection:new | |||
a=pcfg:1 t=1 m=1,2,3 c=1 | a=tcap:1 PSTN | |||
a=pcfg:2 t=2 m=4 c=2 a=1,2,3 | m=audio 49170 RTP/AVP 0 8 3 | |||
a=mcap:1 - | ||||
a=ccap:1 PSTN E164 +15551234 | ||||
a=pcfg:1 | ||||
a=pcfg:2 m=1 t=1 c=1 a=1,2,3 | ||||
m=video 49174 RTP/AVP 34 | ||||
a=mcap:2 - | ||||
a=ccap:2 PSTN E164 +15551234 | ||||
a=pcfg:3 | ||||
a=pcfg:4 m=2 t=1 c=2 a=1,2,3 | ||||
Figure 6: SDP offer with alternative media (1) | Figure 6: SDP offer with alternative media (1) | |||
Upon receiving the SDP offer descibed in Figure 6, Bob decided to | Upon receiving the SDP offer descibed in Figure 6, Bob decided to | |||
select the circuit-switched bearer and generates the answer described | select the circuit-switched bearer and generates the answer described | |||
in Figure 7 | in Figure 7 | |||
v=0 | v=0 | |||
o=- 2890973824 2890987289 IN IP4 192.0.2.7 | o=- 2890973824 2890987289 IN IP4 192.0.2.7 | |||
s= | s= | |||
t=0 0 | t=0 0 | |||
m=audio - PSTN - | ||||
c=PSTN - - | ||||
a=acfg:2 | ||||
a=setup:active | a=setup:active | |||
a=connection:new | a=connection:new | |||
a=correlation:uuie:2890W284hAT452612908awudfjang908 | a=cs-correlation:uuie:2890W284hAT452612908awudfjang908 | |||
m=audio - PSTN - | ||||
c= PSTN E164 +1551234 | ||||
m=video - PSTN - | ||||
c=PSTN E164 +1551234 | ||||
a=acfg:2 | ||||
Figure 7: SDP answer with circuit-switched media (2) | Figure 7: SDP answer with circuit-switched media (2) | |||
7. IANA Considerations | 7. IANA Considerations | |||
This document instructs IANA to register a number of SDP tokens | This document instructs IANA to register a number of SDP tokens | |||
according to the following data. | according to the following data. | |||
7.1. Registration of new correlation SDP attribute | 7.1. Registration of new correlation SDP attribute | |||
Contact: Miguel Garcia <miguel.a.garcia@ericsson.com> | Contact: Miguel Garcia <miguel.a.garcia@ericsson.com> | |||
Attribute name: correlation | Attribute name: cs-correlation | |||
Long-form attribute name: PSTN Correlation Identifier | Long-form attribute name: PSTN Correlation Identifier | |||
Type of attribute: media level only | Type of attribute: media level only | |||
This attribute is subject to the charset attribute | This attribute is subject to the charset attribute | |||
Description: This attribute provides the Correlation Identifier | Description: This attribute provides the Correlation Identifier | |||
used in PSTN signaling | used in PSTN signaling | |||
skipping to change at page 23, line 21 | skipping to change at page 23, line 25 | |||
This memo provides mechanisms to agree on a correlation identifier or | This memo provides mechanisms to agree on a correlation identifier or | |||
identifiers that are used to evaluate whether an incoming circuit- | identifiers that are used to evaluate whether an incoming circuit- | |||
switched call is related to an ongoing session in the IP domain. If | switched call is related to an ongoing session in the IP domain. If | |||
an attacker replicates the correlation identifer and establishes a | an attacker replicates the correlation identifer and establishes a | |||
call within the time window the receiving endpoint is expecting a | call within the time window the receiving endpoint is expecting a | |||
call, the attacker may be able to hijack the circuit-switched call. | call, the attacker may be able to hijack the circuit-switched call. | |||
These types of attacks are not specific to the mechanisms presented | These types of attacks are not specific to the mechanisms presented | |||
in this memo. For example, caller ID spoofing is a well known attack | in this memo. For example, caller ID spoofing is a well known attack | |||
in the PSTN. Users are advised to use the same caution before | in the PSTN. Users are advised to use the same caution before | |||
revealing sensitive information as they would on any other phone | revealing sensitive information as they would on any other phone | |||
call. | 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. | ||||
9. Acknowledgments | 9. Acknowledgments | |||
The authors want to thank Flemming Andreasen, Thomas Belling, Jari | The authors want to thank Flemming Andreasen, Thomas Belling, John | |||
Mutikainen, Miikka Poikselka, Jonathan Rosenberg, Ingemar Johansson, | Elwell, Jari Mutikainen, Miikka Poikselka, Jonathan Rosenberg, | |||
Christer Holmberg, and Alf Heidermark for providing their insight and | Ingemar Johansson, Christer Holmberg, and Alf Heidermark for | |||
comments on this document. | providing their insight and comments on this document. | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the | [RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the | |||
Session Description Protocol (SDP) for ATM Bearer | Session Description Protocol (SDP) for ATM Bearer | |||
skipping to change at page 24, line 19 | skipping to change at page 24, line 26 | |||
[3GPP.24.008] | [3GPP.24.008] | |||
3GPP, "Mobile radio interface Layer 3 specification; Core | 3GPP, "Mobile radio interface Layer 3 specification; Core | |||
network protocols; Stage 3", 3GPP TS 24.008 3.20.0, | network protocols; Stage 3", 3GPP TS 24.008 3.20.0, | |||
December 2005. | December 2005. | |||
[I-D.garcia-mmusic-sdp-misc-cap] | [I-D.garcia-mmusic-sdp-misc-cap] | |||
Garcia, M., Veikkolainen, S., and R. Gilman, | Garcia, M., Veikkolainen, S., and R. Gilman, | |||
"Miscellaneous Capabilities Negotiation in the Session | "Miscellaneous Capabilities Negotiation in the Session | |||
Description Protocol (SDP)", | Description Protocol (SDP)", | |||
draft-garcia-mmusic-sdp-misc-cap-00 (work in progress), | draft-garcia-mmusic-sdp-misc-cap-01 (work in progress), | |||
October 2008. | July 2009. | |||
[I-D.ietf-mmusic-sdp-capability-negotiation] | [I-D.ietf-mmusic-sdp-capability-negotiation] | |||
Andreasen, F., "SDP Capability Negotiation", | Andreasen, F., "SDP Capability Negotiation", | |||
draft-ietf-mmusic-sdp-capability-negotiation-10 (work in | draft-ietf-mmusic-sdp-capability-negotiation-10 (work in | |||
progress), May 2009. | progress), May 2009. | |||
[I-D.ietf-mmusic-sdp-media-capabilities] | [I-D.ietf-mmusic-sdp-media-capabilities] | |||
Gilman, R., Even, R., and F. Andreasen, "SDP media | Gilman, R., Even, R., and F. Andreasen, "SDP media | |||
capabilities Negotiation", | capabilities Negotiation", | |||
draft-ietf-mmusic-sdp-media-capabilities-07 (work in | draft-ietf-mmusic-sdp-media-capabilities-08 (work in | |||
progress), February 2009. | progress), July 2009. | |||
[ITU.E164.1991] | [ITU.E164.1991] | |||
International Telecommunications Union, "The International | International Telecommunications Union, "The International | |||
Public Telecommunication Numbering Plan", ITU- | Public Telecommunication Numbering Plan", ITU- | |||
T Recommendation E.164, 1991. | T Recommendation E.164, 1991. | |||
[ITU.Q931.1998] | [ITU.Q931.1998] | |||
"Digital Subscriber Signalling System No. 1 (DSS 1) - ISDN | "Digital Subscriber Signalling System No. 1 (DSS 1) - ISDN | |||
User - Network Interface Layer 3 Specification for Basic | User - Network Interface Layer 3 Specification for Basic | |||
Call Control", ISO Standard 9594-1, May 1998. | Call Control", ISO Standard 9594-1, May 1998. | |||
skipping to change at page 25, line 7 | skipping to change at page 25, line 14 | |||
June 2002. | June 2002. | |||
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | |||
Jacobson, "RTP: A Transport Protocol for Real-Time | Jacobson, "RTP: A Transport Protocol for Real-Time | |||
Applications", STD 64, RFC 3550, July 2003. | Applications", STD 64, RFC 3550, July 2003. | |||
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | |||
Video Conferences with Minimal Control", STD 65, RFC 3551, | Video Conferences with Minimal Control", STD 65, RFC 3551, | |||
July 2003. | 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 | [RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message | |||
Session Relay Protocol (MSRP)", RFC 4975, September 2007. | Session Relay Protocol (MSRP)", RFC 4975, September 2007. | |||
URIs | URIs | |||
[1] <http://www.iana.org/assignments/sdp-parameters> | [1] <http://www.iana.org/assignments/sdp-parameters> | |||
Authors' Addresses | Authors' Addresses | |||
Miguel A. Garcia-Martin | Miguel A. Garcia-Martin | |||
End of changes. 63 change blocks. | ||||
160 lines changed or deleted | 180 lines changed or added | |||
This html diff was produced by rfcdiff 1.37a. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |