draft-ietf-mmusic-sdp-cs-14.txt   draft-ietf-mmusic-sdp-cs-15.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: May 30, 2013 Nokia Expires: June 20, 2013 Nokia
November 26, 2012 December 17, 2012
Session Description Protocol (SDP) Extension For Setting Up Audio and Session Description Protocol (SDP) Extension For Setting Up Audio and
Video Media Streams Over Circuit-Switched Bearers In The Public Switched Video Media Streams Over Circuit-Switched Bearers In The Public Switched
Telephone Network (PSTN) Telephone Network (PSTN)
draft-ietf-mmusic-sdp-cs-14 draft-ietf-mmusic-sdp-cs-15
Abstract Abstract
This memo describes use cases, requirements, and protocol extensions This memo describes use cases, requirements, and protocol extensions
for using the Session Description Protocol (SDP) Offer/Answer model for using the Session Description Protocol (SDP) Offer/Answer model
for establishing audio and video media streams over circuit-switched for establishing audio and video media streams over circuit-switched
bearers in the Public Switched Telephone Network (PSTN). bearers in the Public Switched Telephone Network (PSTN).
Status of this Memo Status of this Memo
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 30, 2013. This Internet-Draft will expire on June 20, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 10, line 16 skipping to change at page 10, line 16
syntax. syntax.
Please note that these "E164" and "-" address types defined in this Please note that these "E164" and "-" address types defined in this
memo are exclusively defined to be used in conjunction with the memo are exclusively defined to be used in conjunction with the
"PSTN" network type in accordance with [RFC4566]. Usage of "E164" or "PSTN" network type in accordance with [RFC4566]. Usage of "E164" or
"-" address types in conjunction with other network types may be "-" address types in conjunction with other network types may be
defined elsewhere. defined elsewhere.
This memo exclusively uses the international representation of E.164 This memo exclusively uses the international representation of E.164
numbers, i.e., those including a country code and, as described above numbers, i.e., those including a country code and, as described above
prepended with a '+' sign. The syntax (see Section 5.7) refers to prepended with a '+' sign. Implementations conforming to this
the representation of a 'global-number' construction already specification and using the "E164" address type together with the
specified in RFC 3966 [RFC3966]. This representation requires the "PSTN" network type MUST use the 'global-number-digits' construction
presence of the '+' sign. Additionally, this representation allows specified in RFC 3966 [RFC3966] for representing international E.164
for the presence of one or more 'visual-separator' constructions. numbers. This representation requires the presence of the '+' sign,
Implementations conforming to this specification and using the "E164" and additionally allows for the presence of one or more 'visual-
address type together with the "PSTN" network type MUST only use separator' constructions for easier human readability (see
international E.164 representation prepended with a '+' sign. Section 5.7).
Note that <addrtype> and/or <connection-address> MUST NOT be Note that <addrtype> and/or <connection-address> MUST NOT be
omitted when unknown since this would violate basic syntax of SDP omitted when unknown since this would violate basic syntax of SDP
[RFC4566]. In such cases, they MUST be set to a "-". [RFC4566]. In such cases, they MUST be set to a "-".
The following are examples of the extension to the connection data The following are examples of the extension to the connection data
line: line:
c=PSTN E164 +441134690123 c=PSTN E164 +441134960123
c=PSTN - - c=PSTN - -
When the <addrtype> is PSTN, the connection address is defined as When the <addrtype> is PSTN, the connection address is defined as
follows: follows:
o an international E.164 number o an international E.164 number
When the <addrtype> is "-", the connection address is defined as When the <addrtype> is "-", the connection address is defined as
follows: follows:
skipping to change at page 14, line 5 skipping to change at page 14, line 5
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 as an international E.164 number in SDP, calling party number as an international E.164 number in SDP,
followed by the availability of the Calling Party Number information followed by the availability of the Calling Party Number information
element in the call setup signaling of the circuit switched element in the call setup signaling of the circuit switched
connection. If both pieces of information match, the circuit- connection. If both pieces of information match, the circuit-
switched bearer is correlated to the session described in SDP. switched bearer is correlated to the session described in SDP.
Example of inclusion of an international E.164 number in the "cs- Example of inclusion of an international E.164 number in the "cs-
correlation" attribute is: correlation" attribute is:
a=cs-correlation:callerid:+441134690123 a=cs-correlation:callerid:+441134960123
The presence of the "callerid" subfield indicates that the endpoint The presence of the "callerid" subfield indicates that the endpoint
supports use of the calling party number as a means of correlating a supports use of the calling party number as a means of correlating a
PSTN call with the session being negotiated. The "callerid" subfield PSTN call with the session being negotiated. The "callerid" subfield
MAY be accompanied by the international E.164 number of the party MAY be accompanied by the international E.164 number of the party
inserting the parameter. inserting the parameter.
Note that there are no guarantees that this correlation mechanism Note that there are no guarantees that this correlation mechanism
works or is even available, due a number of problems: works or is even available, due a number of problems:
skipping to change at page 26, line 4 skipping to change at page 26, line 4
circuit-switched bearer is set up. The Answerer MUST compare the circuit-switched bearer is set up. The Answerer MUST compare the
received UUI to the value of the "uuie" subfield. If the value of received UUI to the value of the "uuie" subfield. If the value of
the received UUI matches the value of the "uuie" subfield, the the received UUI matches the value of the "uuie" subfield, the
call SHOULD be treated as correlated to the ongoing session. call SHOULD be treated as correlated to the ongoing session.
If the Answerer becomes the active party, generates an SDP answer, If the Answerer becomes the active party, generates an SDP answer,
and then it finds out that the circuit-switched call cannot be and then it finds out that the circuit-switched call cannot be
established, then the Answerer MUST create a new SDP offer where established, then the Answerer MUST create a new SDP offer where
circuit-switched stream is removed from the session (actually, by circuit-switched stream is removed from the session (actually, by
setting the corresponding port in the m= line to zero) and send it to setting the corresponding port in the m= line to zero) and send it to
its counter part. This is to synchronize both parties (and potential its counterpart. This is to synchronize both parties (and potential
intermediaries) on the state of the session. intermediaries) on the state of the session.
5.6.3. Offerer processing the Answer 5.6.3. Offerer processing the Answer
When receiving the Answer, if the SDP does not contain "a=cs- When receiving the Answer, if the SDP does not contain "a=cs-
correlation" attribute line, the Offerer should take that as an correlation" attribute line, the Offerer should take that as an
indication that the other party does not support or is not willing to indication that the other party does not support or is not willing to
use the procedures defined in the document for this session, and MUST use the procedures defined in the document for this session, and MUST
revert to normal processing of SDP. revert to normal processing of SDP.
skipping to change at page 28, line 12 skipping to change at page 28, line 12
Figure 2 shows the formal syntax of the extensions defined in this Figure 2 shows the formal syntax of the extensions defined in this
memo. memo.
; extension to the connection field originally specified ; extension to the connection field originally specified
; in RFC 4566 ; in RFC 4566
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 /= global-number / "-" connection-address /= global-number-digits / "-"
; global-number specified in RFC 3966 ; global-number-digits specified in RFC 3966
;subrules for correlation attribute ;subrules for correlation attribute
attribute /= cs-correlation-attr attribute /= cs-correlation-attr
; attribute defined in RFC 4566 ; attribute defined in RFC 4566
cs-correlation-attr = "cs-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 / corr-mech = caller-id-mech / uuie-mech /
dtmf-mech / ext-mech dtmf-mech / ext-mech
caller-id-mech = "callerid" [":" caller-id-value] caller-id-mech = "callerid" [":" caller-id-value]
caller-id-value = "+" 1*15DIGIT caller-id-value = "+" 1*15DIGIT
skipping to change at page 29, line 39 skipping to change at page 29, line 39
of it in the "a=setup" attribute line. The SDP Offer also includes of it in the "a=setup" attribute line. The SDP Offer also includes
correlation identifiers that this endpoint will insert in the Calling correlation identifiers that this endpoint will insert in the Calling
Party Number and/or User-User Information Element of the PSTN call Party Number and/or User-User Information Element of the PSTN call
setup if eventually this endpoint initiates the PSTN call. setup if eventually this 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 +441134690123 c=PSTN E164 +441134960123
a=setup:actpass a=setup:actpass
a=connection:new a=connection:new
a=cs-correlation:callerid:+441134690123 \ a=cs-correlation:callerid:+441134960123 \
uuie:56A390F3D2B7310023 uuie:56A390F3D2B7310023
Figure 4: SDP offer (1) Figure 4: SDP offer (1)
Bob generates a SDP Answer (Figure 5), describing a PSTN audio media Bob generates a SDP Answer (Figure 5), describing a PSTN audio media
on port 9 without information on the media sub-type on the "m=" line. on port 9 without information on the media sub-type on the "m=" line.
The "c=" line contains Bob's international E.164 number. In the The "c=" line contains Bob's international E.164 number. In the
"a=setup" line Bob indicates that he is willing to become the active "a=setup" line Bob indicates that he is willing to become the active
endpoint when establishing the PSTN call, and he also includes the endpoint when establishing the PSTN call, and he also includes the
"a=cs-correlation" attribute line containing the values he is going "a=cs-correlation" attribute line containing the values he is going
skipping to change at page 31, line 32 skipping to change at page 31, line 32
Figure 6 shows an example of negotiating audio and video media Figure 6 shows an example of negotiating audio and video media
streams over circuit-switched bearers. streams over circuit-switched bearers.
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
a=setup:actpass a=setup:actpass
a=connection:new a=connection:new
c=PSTN E164 +441134690123 c=PSTN E164 +441134960123
m=audio 9 PSTN - m=audio 9 PSTN -
a=cs-correlation:dtmf:1234536 a=cs-correlation:dtmf:1234536
m=video 9 PSTN 34 m=video 9 PSTN 34
a=rtpmap:34 H263/90000 a=rtpmap:34 H263/90000
a=cs-correlation:callerid:+441134690123 a=cs-correlation:callerid:+441134960123
Figure 7: SDP offer with circuit-switched audio and video (1) Figure 7: SDP offer with circuit-switched audio and video (1)
Upon receiving the SDP offer descibed in Figure 7, Bob rejects the Upon receiving the SDP offer described in Figure 7, Bob rejects the
video stream as his device does not currently support video, but video stream as his device does not currently support video, but
accepts the circuit-switched audio stream. As Alice indicated that accepts the circuit-switched audio stream. As Alice indicated that
she is able to become either the active, or passive party, Bob gets she is able to become either the active, or passive party, Bob gets
to select which role he would like to take. Since the Offer to select which role he would like to take. Since the Offer
contained the international E.164 number of Alice, Bob decides that contained the international E.164 number of Alice, Bob decides that
he becomes the active party in setting up the circuit-switched he becomes the active party in setting up the circuit-switched
bearer. Bob includes a new value in the "dtmf" subfield of the "cs- bearer. Bob includes a new value in the "dtmf" subfield of the "cs-
correlation" attribute, which he is going to send as DTMF tones once correlation" attribute, which he is going to send as DTMF tones once
the bearer setup is complete. For the video bearer, caller ID based the bearer setup is complete. For the video bearer, caller ID based
correlation is used. The Answer is described in Figure 8 correlation is used. The Answer is described in Figure 8
skipping to change at page 32, line 27 skipping to change at page 32, line 27
7. Security Considerations 7. Security Considerations
This document provides an extension on top of RFC 4566 [RFC4566], and This document provides an extension on top of RFC 4566 [RFC4566], and
RFC 3264 [RFC3264]. As such, the security considerations of those RFC 3264 [RFC3264]. As such, the security considerations of those
documents apply. documents apply.
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 bearer is related to an ongoing session in the IP domain. switched bearer is related to an ongoing session in the IP domain.
If an attacker replicates the correlation identifer and establishes a If an attacker replicates the correlation identifier and establishes
call within the time window the receiving endpoint is expecting a a call within the time window the receiving endpoint is expecting a
call, the attacker may be able to hijack the circuit-switched bearer. call, the attacker may be able to hijack the circuit-switched bearer.
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 wellknown 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. Furthermore, users are advised that mechanisms that may be in call. Furthermore, users are advised that mechanisms that may be in
use in the IP domain for securing the media, like Secure RTP (SRTP) use in the IP domain for securing the media, like Secure RTP (SRTP)
[RFC3711], are not available in the CS domain. [RFC3711], are not available in the CS domain.
For the purposes of establishing a circuit-switched bearer, the For the purposes of establishing a circuit-switched bearer, the
active endpoint needs to know the passive endpoint's phone number. active endpoint needs to know the passive endpoint's phone number.
Phone numbers are sensitive information, and some people may choose Phone numbers are sensitive information, and some people may choose
not to reveal their phone numbers when calling using supplementary not to reveal their phone numbers when calling using supplementary
services like Calling Line Identification Restriction (CLIR) in GSM. services like Calling Line Identification Restriction (CLIR) in GSM.
Implementations should take the caller's preferences regarding Implementations should take the caller's preferences regarding
calling line identification into account if possible, by restricting calling line identification into account if possible, by restricting
the inclusion of the phone number in SDP "c=" line if the caller has the inclusion of the phone number in SDP "c=" line if the caller has
chosen to use CLIR. If this is not possible, implementations may chosen to use CLIR. If this is not possible, implementations may
present a prompt informing the user that their phone number may be present a prompt informing the user that their phone number may be
transmitted to the other party. transmitted to the other party.
Similarly as with IP addresses, if there is a desire to protect the Similarly as with IP addresses, if there is a desire to protect the
SDP containing phone numbers carried in SIP, implementers are adviced SDP containing phone numbers carried in SIP, implementers are advised
to follow the security mechanisms defined in [RFC3261]. to follow the security mechanisms defined in [RFC3261].
It is possible that an attacker creates a circuit-switched session It is possible that an attacker creates a circuit-switched session
whereby the attacked endpoint should dial a circuit-switched number, whereby the attacked endpoint should dial a circuit-switched number,
perhaps even a premium-rate telephone number. To mitigate the perhaps even a premium-rate telephone number. To mitigate the
consequences of this attack, endpoints MUST authenticate and trust consequences of this attack, endpoints MUST authenticate and trust
remote endpoints users who try to remain passive in the circuit- remote endpoints users who try to remain passive in the circuit-
switched connection establishment. It is RECOMMENDED that endpoints switched connection establishment. It is RECOMMENDED that endpoints
have local policies precluding the active establishment of circuit have local policies precluding the active establishment of circuit
switched connections to certain numbers (e.g., international, switched connections to certain numbers (e.g., international,
skipping to change at page 36, line 15 skipping to change at page 36, line 15
May 2008. May 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
10.2. Informative References 10.2. Informative References
[I-D.ietf-cuss-sip-uui] [I-D.ietf-cuss-sip-uui]
Johnston, A. and J. Rafferty, "A Mechanism for Johnston, A. and J. Rafferty, "A Mechanism for
Transporting User to User Call Control Information in Transporting User to User Call Control Information in
SIP", draft-ietf-cuss-sip-uui-07 (work in progress), SIP", draft-ietf-cuss-sip-uui-08 (work in progress),
July 2012. December 2012.
[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.
 End of changes. 17 change blocks. 
28 lines changed or deleted 28 lines changed or added

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