MMUSIC WG M. Garcia-Martin Internet-Draft Ericsson Intended status: Standards Track S. Veikkolainen Expires: May 3, 2009 Nokia October 30, 2008 Session Description Protocol (SDP) Extension For Setting Up Audio Media Streams Over Circuit-Switched Bearers In The Public Switched Telephone Network (PSTN) draft-garcia-mmusic-sdp-cs-02 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 May 3, 2009. Abstract This memo describes use cases, requirements, and protocol extensions for using the Session Description Protocol (SDP) Offer/Answer model for establishing audio media streams over circuit-switched bearers in the Public Switched Telephone Network (PSTN). Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 1] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 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 . . . . . . . . . 12 5.3.1. Originator of the Session . . . . . . . . . . . . . . 12 5.3.2. Contact Information . . . . . . . . . . . . . . . . . 12 5.3.3. Determining the Direction for Setting Up the Circuit-Switched Bearer . . . . . . . . . . . . . . . 12 5.4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 13 6. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.1. Basic SDP Example: Single Circuit-Switched Audio Stream . 14 6.2. Advanced SDP Example: Alternative IP and Circuit-Switched Audio Streams . . . . . . . . . . . . . . 15 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 7.1. Registration of a New 'corr-id' SDP Attribute . . . . . . 17 7.2. Registration of a New "nettype" value . . . . . . . . . . 17 7.3. Registration of New "addrtype" values . . . . . . . . . . 17 7.4. Registration of a New "proto" value . . . . . . . . . . . 17 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 10.1. Normative References . . . . . . . . . . . . . . . . . . . 18 10.2. Informative References . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20 Intellectual Property and Copyright Statements . . . . . . . . . . 21 Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 2] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 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 illustrated with two mobile devices capable of both circuit-switched and packet-switched communication over a low- bandwidth radio bearer. The radio bearer may not be suitable for carrying real-time audio media, and using a circuit-switched bearer would offer, however, 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 sensitive to jitter and delay, for example, text messaging or presence information. At a later point in time the mobile device might move to an area where a high-bandwidth packet-switched bearer, for example a Wireless Local Area Network (WLAN) connection, is available. At this point the mobile device may perform a handover and move the audio media streams over to the high-speed bearer. This implies a new exchange Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 3] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 of SDP offer/answer that lead to a re-negotiation of the media streams. Other use cases exists. For example, and endpoint might have at its disposal circuit-switch and packet-switched connectivity, but the audio codecs are not the same in both access networks. Consider that the circuit-switched audio stream supports narrow-bandwidth codecs, while the packet-switched access allows any other audio codec implemented in the endpoint. In this case, it might be beneficial for the endpoint to describe different codecs for each access type and get an agreement on the bearer together with the remote endpoint. There are additional use cases related to third party call control where the session setup time is improved when the circuit-switched bearer in the PSTN is described together with one or more codecs. The rest of the document is structured as follows: Section 2 provides the document conventions, Section 3 introduces the requirements, Section 4 presents an overview of the proposed solutions, and Section 5 contains the protocol description. Section 6 provides 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 audio media stream over circuit-switched bearers. REQ-1: A mechanism for endpoints to negotiate and agree on an audio media stream established over a circuit-switched bearer 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. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 4] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 REQ-3: 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-4: The mechanism MUST be independent of the type of the circuit- switched access (e.g., Integrated Services Digital Network (ISDN), Global System for Mobile Communication (GSM), etc.) REQ-5: There MUST be a mechanism that helps an endpoint to correlate an incoming circuit-switched call with the one negotiated in SDP, as opposed to another incoming call that is not related to that. REQ-6: It must be possible for endpoints to advertise different list of audio codecs in the circuit-switched audio stream from those used in a packet-switched audio stream. REQ-7: It must be possible for endpoints to not advertise the list of available codecs for circuit-switched audio streams. 4. Overview of Operation The mechanism defined in this memo extends SDP and allows describing an audio media stream established over a circuit-switched bearer. New tokens are registered in the "c=" and "m=" lines to be able to describe an audio media stream over a 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.3. 4.1. Example Call Flow Consider the example presented in Figure 1. In this example, Alice is located in an environment where she has access to both IP and circuit-switched bearers for communicating with other endpoints. Alice decides that the circuit-switched bearer offers a better perceived quality of service for voice, and issues an SDP Offer containing the description of an audio media stream over circuit- switched bearer. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 5] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 Alice Bob | (1) SDP Offer (PSTN audio) | |----------------------------------->| | | | (2) SDP Answer (PSTN audio) | |<-----------------------------------| | | | PSTN call setup | |<-----------------------------------| | | | | |<===== media over PSTN bearer =====>| | | Figure 1: Example Flow Bob receives the SDP offer and determines that he is located in an environment where the IP based bearer is not suitable for real-time audio media. However he also has PSTN circuit-switched bearer available for audio. Bob generates an SDP answer containing a description of the audio media stream over a circuit-switched bearer. During the offer-answer exchange Alice and Bob also agree the direction in which the circuit-switched connection should be established. The exchange also contains 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 bearer establishment is related to the ongoing session between Alice and Bob. Bob establishes a circuit-switched bearer towards Alice using whatever mechanisms are defined for the network type in question. When receiving the incoming circuit-switched connection attempt, Alice is able to determine that the attempt is related to the session she is just establishing with Bob. Alice accepts the circuit-switched connection; the circuit-switched bearer setup is completed. Bob and Alice can now use the circuit- switched connection for two-way audio media. If, for some reason, Bob would like to reject the offered stream, he would set the port number of the specific stream to zero, as specified in RFC3264 [RFC3264]. Also, if Bob does not understand some of the SDP attributes specified in this document, he would ignore them, as specified in RFC4566 [RFC4566]. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 6] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 5. Protocol Description 5.1. Level of Compliance Implementations according to this specification MUST implement the SDP extensions described in Section 5.2, and MUST implement the considerations discussed in Section 5.3. 5.2. Extensions to SDP This section provides the syntax and semantics of the extensions required for providing a description of audio media streams over circuit-switched bearers in SDP. 5.2.1. Connection Data According to SDP [RFC4566], the connection data line in SDP has the following syntax: c= where indicates the network type, indicates the address type, and the is the connection address, which is dependent on the address type. At the moment, the only network type defined is "IN", which indicates Internet network type. The address types "IP4" and "IP6" indicate the type of IP addresses. This memo defines a new network type for describing a circuit- switched bearer network type in the PSTN. The mnemonic "PSTN" is used for this network type. For the address type, we initially consider the possibility of describing E.164 telephone numbers. We define a new "E164" address type. When used, the "E164" address type indicates that the connection address contains a telephone number represented according to the ITU-T E.164 [ITU.E164.1991] recommendation. 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 May 3, 2009 [Page 7] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 Note that and/or 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= ... The sub-field carries the media type. Since this document deals with establishing an audio bearer, the existing "audio" media type is used. The 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 sub-field is set to the discard port "9". According to RFC 3264 [RFC3264], a port number of zero in the offer of a unicast stream indicates that the stream is offered but must not be used. If a port number of zero is present in the answer of a unicast stream, it indicates that the stream is rejected. These rules are still valid when the media line in SDP represents a circuit-switched bearer. The 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 sub-field is the media format description. In the classical usage of SDP to describe RTP-based media streams, when the sub-field is set to "RTP/AVP" or "RTP/SAVP", the sub- field contains the payload types as defined in the RTP audio profile [RFC3551]. In the case of circuit-switched descriptions, RTP is not really used. Rather than specifying the RTP audio profile payload type, we use the sub-field to indicate the list of available media types over Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 8] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 the circuit-switched bearer. Therefore, the sub-field MAY indicate one or more available audio codecs for a circuit-switched audio stream. We use the classical RTP audio media types, even when applied to PSTN circuit-switched bearers, the media type merely represents an audio codec. However, in some cases, the endpoint is not able to determine the list of available codecs for circuit-switched audio streams. In this case, in order to be syntactically compliant with SDP [RFC4566], the endpoint MUST include a single dash "-" in the sub-field. As per RFC 4566 [RFC4566], the media format descriptions are listed in priority order. Example of a media description for circuit-switched audio streams is: m=audio 9 PSTN 3 0 8 m=audio 9 PSTN - 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP The endpoints should be able to correlate the circuit-switched bearer with the session negotiated with SDP 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 field of the "c=" line. An endpoint that acts Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 9] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 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. Example of inclusion of E.164 number in the "c=" line is: c=PSTN E164 +15551234 Please note that there are no warranties that this correlation mechanism works or is even available, due a number of problems: o The endpoint might not be aware of its own E.164 number, in which case it cannot populate the SDP appropriately. o The Calling Party Number information element in the circuit- switched signaling might not be available, e.g., due to policy restrictions of the network operator or caller restriction due to privacy. o The Calling Party Number information element in the circuit- switched signaling might be available, but the digit representation of the E.164 number might differ from the one expressed in the SDP. 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 the same number. This is also the behavior of some cellular phones, which correlate the incoming calling party with a number stored in the phone book, for the purpose of displaying the caller's name. 5.2.3.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 Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 10] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 Element of the call establishment message of the PSTN protocol. The endpoint that initiates the call setup attempt includes this value in the User-User Information Element. The recipient of the call setup attempt can extract the User-User Information Element and correlate it with the value previously received in the SDP. If both values match, then the call 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 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 note that there are no warranties that this correlation mechanism works. On one side, policy restrictions might not make the User-User information available end to end in the PSTN. On the other hand, the generation of the User-User Information Element is controlled by the PSTN circuit-switched call protocol, which might not offer enough freedom for generating different values from one endpoint to another one, or from one call to another in the same endpoint. This might result in the same value of the User-User Information Element for all calls. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 11] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 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= Of interest here are the and fields, which indicate the type of network and type of address, respectively. Typically, this field carries the IP address of the originator of the session. Even if the SDP was used to negotiate an audio media stream transported over a circuit-switched bearer, the originator is using SDP over an IP bearer. Therefore, and fields in the "o=" line should be populated with the IP address identifying the source of the signaling. 5.3.2. Contact Information SDP [RFC4566] defines the "p=" line which may include the phone 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 defining a connection address for the media. Therefore, we have selected to define the PSTN specific connection addresses in the "c=" line. 5.3.3. Determining the Direction for Setting Up the Circuit-Switched Bearer Either endpoint can initiate the establishment of the circuit- switched bearer. In order to avoid a situation where both endpoints attempt to initiate a connection simultaneously, the direction in which the circuit-switched bearer is set up should be negotiated during the Offer/Answer exchange. The framework defined in RFC 4145 [RFC4145] allows the endpoints to agree which endpoint acts as the active endpoint when initiating a TCP connection. While RFC 4145 [RFC4145] was originally designed for establishing TCP connections, it is easily extrapolated to the connection establishment of circuit-switched bearers. This specification uses the concepts specified in RFC 4145 [RFC4145] for agreeing on the direction of establishment of a circuit-switched bearer. RFC 4145 [RFC4145] defines two new attributes in SDP: 'setup' and 'connection'. The 'setup' attribute indicates which of the endpoints Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 12] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 should initiate the connection establishment of the PSTN circuit- switched bearer. Four values are defined in Section 4 of RFC 4145 [RFC4145]: "active", "passive", "actpass", "holdconn". Please refer to Section 4 of RFC 4145 [RFC4145] for a detailed description of this attribute. The 'connection' attribute indicates whether a new connection is needed or an existing connection is reused. The attribute can take the values "new" or "existing". Please refer to Section 5 of RFC 4145 [RFC4145] for a detailed description of this attribute. Implementations according to this specification MUST support the 'setup' and 'connection' attributes specified in RFC 4145 [RFC4145], but applied to circuit-switched bearers in the PSTN. In order to establish a circuit-switched connection in the PSTN, the initiating endpoint needs to know the address (E.164 number) of the other endpoint. Therefore, if an endpoint wants to be able to receive incoming circuit-switched calls, it must know its E.164 number and must indicate it in SDP. As a consequence, an endpoint that is not aware of its own E.164 number cannot take the role of the passive side with respect the establishment of the circuit-switched connection. 5.4. Formal Syntax The following is the formal Augmented Backus-Naur Form (ABNF) [RFC5234] syntax that supports the extensions defined in this specification. The syntax is built above the SDP [RFC4566] grammar. Implementations according to this specification MUST be compliant with this syntax. Figure 2 shows the formal syntax of the extensions defined in this memo. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 13] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 ;extension to the connection field originally specified in RFC 4566 connection-field = [%x63 "=" nettype SP addrtype SP connection-address CRLF] ;nettype and addrtype are defined in RFC 4566 connection-address = multicast-address / unicast-address / e164-address / "-" ; multicast-address and unicast-address are ; defined in RFC 4566 e164-address = ["+"] 1*15DIGIT ; DIGIT is specified in RFC 5234 ;subrules for corr-id attribute attribute = corr-id-attr ; attribute defined in RFC 4566 corr-id-attr = "corr-id:" corr-id-value corr-id-value = 1*32(ALPHA/DIGIT) Figure 2: Syntax of the SDP extensions 6. SDP Examples 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 3: Basic flow Figure 3 shows a basic example that describes a single audio media stream over a circuit-switched bearer. The SDP offer is show in Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 14] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 Figure 4. 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 9 PSTN - c=PSTN E164 +15551234 a=setup:actpass a=connection:new a=corr-id:2890W284hAT452612908awudfjang908 Figure 4: SDP offer (1) 6.2. Advanced SDP Example: Alternative IP and Circuit-Switched Audio Streams Alice Bob | | | (1) SDP Offer (IP and PSTN audio)| |--------------------------------->| | | | (2) SDP Answer (PSTN audio) | |<---------------------------------| | | | PSTN call setup | |<---------------------------------| | | |<==== media over PSTN bearer ====>| | | Figure 5: Alternative media Figure 5 shows an example of negotiating audio media streams over IP or circuit-switched bearers. Using the mechanisms described in SDP Capability Negotiation Framework [I-D.ietf-mmusic-sdp-capability-negotiation] and extensions thereof (SDP media capabilities Negotiation [I-D.ietf-mmusic-sdp-media-capabilities] and SDP Miscellaneous Capabilities [I-D.garcia-mmusic-sdp-misc-cap]) it is possible to construct an SDP offer where audio media can be offered alternatively over IP or circuit-switched bearer. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 15] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 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,ccap-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 6: SDP offer with alternative media (1) Upon receiving the SDP offer descibed in Figure 6, Bob decided to select the circuit-switched bearer and generates the answer described in Figure 7 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 7: SDP answer with circuit-switched media (2) 7. IANA Considerations This document instructs IANA to register a number of SDP tokens according to the following data. Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 16] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 7.1. Registration of a New 'corr-id' SDP Attribute Contact: Miguel Garcia 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 -------------- --------------------------- --------- proto PSTN [RFCxxxx] Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 17] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 8. Security Considerations This document provides an extension on top of RFC 4566 [RFC4566], and RFC 3264 [RFC3264]. As such, the security considerations of those documents apply. 9. Acknowledgments The authors want to thank Flemming Andreasen, Thomas Belling, Jari Mutikainen, Miikka Poikselka, Jonathan Rosenberg, Ingemar Johansson, Christer Holmberg, and Alf Heidermark for providing their insight and comments on this document. 10. References 10.1. Normative References [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 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. [I-D.garcia-mmusic-sdp-misc-cap] Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 18] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 Garcia, M., Veikkolainen, S., and R. Gilman, "Miscellaneous Capabilities Negotiation in the Session Description Protocol (SDP)", draft-garcia-mmusic-sdp-misc-cap-00 (work in progress), October 2008. [I-D.ietf-mmusic-sdp-capability-negotiation] Andreasen, F., "SDP Capability Negotiation", draft-ietf-mmusic-sdp-capability-negotiation-09 (work in progress), July 2008. [I-D.ietf-mmusic-sdp-media-capabilities] Gilman, R., Even, R., and F. Andreasen, "SDP media capabilities Negotiation", draft-ietf-mmusic-sdp-media-capabilities-05 (work in progress), July 2008. [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. URIs [1] Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 19] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 2008 Authors' Addresses Miguel A. Garcia-Martin Ericsson Calle Via de los Poblados 13 Madrid, ES 28033 Spain Email: miguel.a.garcia@ericsson.com Simo Veikkolainen Nokia P.O. Box 407 NOKIA GROUP, FI 00045 Finland Phone: +358 50 486 4463 Email: simo.veikkolainen@nokia.com Garcia-Martin & Veikkolainen Expires May 3, 2009 [Page 20] Internet-Draft PSTN Circuit-Switched Bearers in SDP October 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 May 3, 2009 [Page 21]