Internet Engineering Task Force (IETF) M. Garcia-Martin Request for Comments: 7195 Ericsson Category: Standards Track S. Veikkolainen ISSN: 2070-1721 Nokia May 2014
Internet Engineering Task Force (IETF) M. Garcia-Martin Request for Comments: 7195 Ericsson Category: Standards Track S. Veikkolainen ISSN: 2070-1721 Nokia May 2014
Session Description Protocol (SDP) Extension for Setting Audio and Video Media Streams over Circuit-Switched Bearers in the Public Switched Telephone Network (PSTN)
会话描述协议(SDP)扩展,用于通过公共交换电话网(PSTN)中的电路交换承载设置音频和视频媒体流
Abstract
摘要
This memo describes use cases, requirements, and protocol extensions for using the Session Description Protocol (SDP) offer/answer model for establishing audio and video media streams over circuit-switched bearers in the Public Switched Telephone Network (PSTN).
本备忘录描述了使用会话描述协议(SDP)提供/应答模型通过公共交换电话网(PSTN)中的电路交换承载建立音频和视频媒体流的用例、要求和协议扩展。
Status of This Memo
关于下段备忘
This is an Internet Standards Track document.
这是一份互联网标准跟踪文件。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.
本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 5741第2节。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7195.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc7195.
Copyright Notice
版权公告
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2014 IETF信托基金和确定为文件作者的人员。版权所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。
Table of Contents
目录
1. Introduction ....................................................3 2. Conventions Used in This Document ...............................4 3. Requirements ....................................................5 4. Overview of Operation ...........................................5 4.1. Example Call Flow ..........................................6 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 ..................................9 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP ....................................10 5.2.3.1. The "cs-correlation" Attribute ............11 5.2.3.2. Caller ID Correlation Mechanism ...........12 5.2.3.3. User-User Information Element Correlation Mechanism .....................13 5.2.3.4. DTMF Correlation Mechanism ................14 5.2.3.5. External Correlation Mechanism ............15 5.2.3.6. Extensions to Correlation Mechanisms ......16 5.3. Negotiating the Correlation Mechanisms ....................17 5.3.1. Determining the Direction of the Circuit-Switched Bearer Setup ......................17 5.3.2. Populating the "cs-correlation" Attribute ..........18 5.3.3. Considerations for Correlations ....................18 5.4. Considerations for Usage of Existing SDP ..................19 5.4.1. Originator of the Session ..........................19 5.4.2. Contact Information ................................20 5.5. Considerations for Usage of Third Party Call Control (3PCC) ............................................20 5.6. Offer/Answer Mode Extensions ..............................20 5.6.1. Generating the Initial Offer .......................21 5.6.2. Generating the Answer ..............................23 5.6.3. Offerer Processing the Answer ......................26 5.6.4. Modifying the Session ..............................27 5.7. Formal Syntax .............................................28 6. Examples .......................................................30 6.1. Single PSTN Audio Stream ..................................30 6.2. Advanced SDP Example: Circuit-Switched Audio and Video Streams .............................................32 7. Security Considerations ........................................33 8. IANA Considerations ............................................35 8.1. Registration of the New "cs-correlation" SDP Attribute ....35 8.2. Registration of a New "nettype" Value .....................36 8.3. Registration of a New "addrtype" Value ....................36 8.4. Registration of a New "proto" Value .......................36 9. Acknowledgments ................................................37
1. Introduction ....................................................3 2. Conventions Used in This Document ...............................4 3. Requirements ....................................................5 4. Overview of Operation ...........................................5 4.1. Example Call Flow ..........................................6 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 ..................................9 5.2.3. Correlating the PSTN Circuit-Switched Bearer with SDP ....................................10 5.2.3.1. The "cs-correlation" Attribute ............11 5.2.3.2. Caller ID Correlation Mechanism ...........12 5.2.3.3. User-User Information Element Correlation Mechanism .....................13 5.2.3.4. DTMF Correlation Mechanism ................14 5.2.3.5. External Correlation Mechanism ............15 5.2.3.6. Extensions to Correlation Mechanisms ......16 5.3. Negotiating the Correlation Mechanisms ....................17 5.3.1. Determining the Direction of the Circuit-Switched Bearer Setup ......................17 5.3.2. Populating the "cs-correlation" Attribute ..........18 5.3.3. Considerations for Correlations ....................18 5.4. Considerations for Usage of Existing SDP ..................19 5.4.1. Originator of the Session ..........................19 5.4.2. Contact Information ................................20 5.5. Considerations for Usage of Third Party Call Control (3PCC) ............................................20 5.6. Offer/Answer Mode Extensions ..............................20 5.6.1. Generating the Initial Offer .......................21 5.6.2. Generating the Answer ..............................23 5.6.3. Offerer Processing the Answer ......................26 5.6.4. Modifying the Session ..............................27 5.7. Formal Syntax .............................................28 6. Examples .......................................................30 6.1. Single PSTN Audio Stream ..................................30 6.2. Advanced SDP Example: Circuit-Switched Audio and Video Streams .............................................32 7. Security Considerations ........................................33 8. IANA Considerations ............................................35 8.1. Registration of the New "cs-correlation" SDP Attribute ....35 8.2. Registration of a New "nettype" Value .....................36 8.3. Registration of a New "addrtype" Value ....................36 8.4. Registration of a New "proto" Value .......................36 9. Acknowledgments ................................................37
10. References ....................................................37 10.1. Normative References .....................................37 10.2. Informative References ...................................38
10. References ....................................................37 10.1. Normative References .....................................37 10.2. Informative References ...................................38
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].
会话描述协议(SDP)[RFC4566]旨在描述多媒体会话,用于会话公告、会话邀请和其他形式的多媒体会话启动。SDP最常用于描述通过实时传输协议(RTP)[RFC3550]传输的媒体流,使用“具有最小控制的音频和视频会议的RTP配置文件”[RFC3551]中定义的音频和视频媒体配置文件。
However, SDP can be used to describe media transport protocols other than RTP. Previous work includes SDP conventions for describing ATM bearer connections [RFC3108] and the Message Session Relay Protocol [RFC4975].
然而,SDP可以用来描述RTP以外的媒体传输协议。之前的工作包括描述ATM承载连接的SDP约定[RFC3108]和消息会话中继协议[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 the 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.
SDP通常在会话发起协议(SIP)[RFC3261]消息中携带,以便在端点之间就公共媒体描述达成一致。“具有会话描述协议(SDP)的提供/应答模型”[RFC3264]定义了一个框架,通过该框架,两个端点可以交换SDP媒体描述,并就应使用哪些媒体流以及媒体相关参数达成一致。
In some scenarios, it might be desirable to establish the media stream over a circuit-switched bearer connection even if the signaling for the session is carried over an IP bearer. An example of such a scenario is illustrated with two mobile devices capable of both circuit-switched and packet-switched communication over a low-bandwidth radio bearer. The radio bearer may not be suitable for carrying real-time audio or video media, and using a circuit-switched bearer would offer a better perceived quality of service. So, according to this scenario, SDP and its higher-layer session control protocol (e.g., the Session Initiation Protocol (SIP) [RFC3261]) are used over regular IP connectivity, while the audio or video is received through the classical circuit-switched bearer.
在一些场景中,可能希望通过电路交换承载连接建立媒体流,即使会话的信令通过IP承载承载。用两个能够在低带宽无线电承载上进行电路交换和分组交换通信的移动设备来说明这种场景的示例。无线电承载可能不适合承载实时音频或视频媒体,并且使用电路交换承载将提供更好的感知服务质量。因此,根据该场景,SDP及其高层会话控制协议(例如,会话发起协议(SIP)[rfc326])在常规IP连接上使用,而音频或视频通过经典电路交换承载接收。
This document addresses only the use of circuit-switched bearers in the PSTN, not a generic circuit-switched network. The mechanisms presented below require a call signaling protocol of the PSTN to be used (such as ITU-T Q.931 [ITU.Q931.1998] or 3GPP TS 24.008 [TS.24.008]).
本文件仅涉及PSTN中电路交换承载的使用,而非一般电路交换网络。下面介绍的机制要求使用PSTN的呼叫信令协议(例如ITU-T Q.931[ITU.Q931.1998]或3GPP TS 24.008[TS.24.008])。
Setting up a signaling relationship in the IP domain instead of just setting up a circuit-switched call also offers 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.
在IP域中建立信令关系而不是仅仅建立电路交换呼叫还提供了在同一会话中协商对抖动和延迟不敏感的其他基于IP的媒体的可能性,例如,文本消息或存在信息。
At a later point in time, the mobile device might move to an area where a high-bandwidth packet-switched bearer, for example, a Wireless Local Area Network (WLAN) connection, is available. At this point, the mobile device may perform a handover and move the audio or video media streams over to the high-speed bearer. This implies a new exchange of SDP offer/answer that leads to a renegotiation of the media streams.
在稍后的时间点,移动设备可以移动到高带宽分组交换承载(例如,无线局域网(WLAN)连接)可用的区域。此时,移动设备可执行切换并将音频或视频媒体流移到高速承载。这意味着SDP提供/应答的新交换将导致媒体流的重新协商。
Other use cases exist. For example, an endpoint might have at its disposal circuit-switched and packet-switched connectivity, but the same audio or video codecs are not feasible for both access networks. For example, the circuit-switched audio or video stream supports narrow-bandwidth codecs, while the packet-switched access allows any other audio or video codec implemented in the endpoint. In this case, it might be beneficial for the endpoint to describe different codecs for each access type and get an agreement on the bearer together with the remote endpoint.
存在其他用例。例如,一个端点可能具有电路交换和分组交换连接,但相同的音频或视频编解码器不适用于两个接入网络。例如,电路交换音频或视频流支持窄带编解码器,而分组交换接入允许在端点中实现的任何其他音频或视频编解码器。在这种情况下,端点可以为每种访问类型描述不同的编解码器,并与远程端点一起获得承载协议。
There are additional use cases related to third party call control where the session setup time is improved when the circuit-switched bearer in the PSTN is described together with one or more codecs.
存在与第三方呼叫控制相关的附加用例,其中,当与一个或多个编解码器一起描述PSTN中的电路交换承载时,会话建立时间被改进。
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 examples of circuit-switched audio or video streams in SDP. Sections 7 and 8 contain the Security and IANA considerations, respectively.
本文件其余部分的结构如下:第2节提供了文件惯例,第3节介绍了要求,第4节概述了建议的解决方案,第5节包含了协议说明。第6节提供了SDP中电路切换音频或视频流的示例。第7节和第8节分别包含安全和IANA注意事项。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "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.
本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“建议”、“不建议”、“可能”和“可选”应按照BCP 14、RFC 2119[RFC2119]中的描述进行解释,并指出合规实施的要求级别。
This section presents the general requirements that are specific for the audio or video media streams over circuit-switched bearers.
本节介绍了电路交换承载上音频或视频媒体流的一般要求。
REQ-1: A mechanism for endpoints to negotiate and agree on an audio or video media stream established over a circuit-switched bearer MUST be available.
REQ-1:端点协商并同意通过电路交换承载建立的音频或视频媒体流的机制必须可用。
REQ-2: The mechanism MUST allow the endpoints to combine circuit-switched audio or video media streams with other complementary media streams, for example, text messaging.
REQ-2:该机制必须允许端点将电路交换音频或视频媒体流与其他补充媒体流相结合,例如,文本消息。
REQ-3: The mechanism MUST allow the endpoint to negotiate the direction of the circuit-switched bearer, i.e., which endpoint is active when initiating the circuit-switched bearer.
REQ-3:该机制必须允许端点协商电路交换承载的方向,即在启动电路交换承载时哪个端点处于活动状态。
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-4:该机制必须独立于电路交换接入的类型(例如,综合业务数字网(ISDN)、全球移动通信系统(GSM)等)
REQ-5: There MUST be a mechanism that helps an endpoint to correlate an incoming circuit-switched bearer with the one negotiated in SDP, as opposed to another incoming call that is not related to that. In case correlation by programmatic means is not possible, correlation may also be performed by the human user.
REQ-5:必须有一种机制来帮助端点将传入的电路交换承载和SDP中协商的承载相关联,而不是与之无关的另一个传入呼叫。在不可能通过编程方式进行关联的情况下,也可以由人类用户执行关联。
REQ-6: It MUST be possible for endpoints to advertise different lists of audio or video codecs in the circuit-switched audio or video stream from those used in a packet-switched audio or video stream.
REQ-6:端点必须能够公布电路交换音频或视频流中与分组交换音频或视频流中使用的音频或视频编解码器的不同列表。
REQ-7: It MUST be possible for endpoints to not advertise the list of available codecs for circuit-switched audio or video streams.
REQ-7:端点必须能够不公布电路交换音频或视频流的可用编解码器列表。
The mechanism defined in this memo extends SDP [RFC4566] and allows describing an audio or video media stream established over a circuit-switched bearer. A new network type ("PSTN") and a new protocol type ("PSTN") are defined for the "c=" and "m=" lines to be able to describe a media stream over a circuit-switched bearer. These SDP extensions are described in Section 5.2. Since circuit-switched bearers are connection-oriented media streams, the mechanism reuses
本备忘录中定义的机制扩展了SDP[RFC4566],并允许描述通过电路交换承载建立的音频或视频媒体流。为“c=”和“m=”线路定义了新的网络类型(“PSTN”)和新的协议类型(“PSTN”),以便能够描述通过电路交换承载的媒体流。第5.2节描述了这些SDP扩展。由于电路交换承载是面向连接的媒体流,因此该机制重用
the connection-oriented extensions defined in RFC 4145 [RFC4145] to negotiate the active and passive sides of a connection setup. This is further described in Section 5.3.1.
RFC 4145[RFC4145]中定义的面向连接的扩展,用于协商连接设置的主动侧和被动侧。第5.3.1节对此作了进一步说明。
Consider the example presented in Figure 1. In this example, Endpoint A is located in an environment where it has access to both IP and circuit-switched bearers for communicating with other endpoints. Endpoint A 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 a circuit-switched bearer.
考虑图1中给出的示例。在此示例中,端点A位于一个环境中,在该环境中,它可以访问IP和电路交换承载,以便与其他端点通信。端点A确定电路交换承载为语音提供更好的感知服务质量,并通过电路交换承载发布包含音频媒体流描述的SDP提供。
Endpoint A Endpoint B | (1) SDP offer (PSTN audio) | |----------------------------------->| | | | (2) SDP answer (PSTN audio) | |<-----------------------------------| | | | PSTN call setup | |<-----------------------------------| | | | | |<===== media over PSTN bearer =====>| | |
Endpoint A Endpoint B | (1) SDP offer (PSTN audio) | |----------------------------------->| | | | (2) SDP answer (PSTN audio) | |<-----------------------------------| | | | PSTN call setup | |<-----------------------------------| | | | | |<===== media over PSTN bearer =====>| | |
Figure 1: Example Flow
图1:示例流
Endpoint B receives the SDP offer and determines that it is located in an environment where the IP-based bearer is not suitable for real-time audio media. However, Endpoint B also has a PSTN circuit-switched bearer available for audio. Endpoint B generates an SDP answer containing a description of the audio media stream over a circuit-switched bearer.
端点B接收SDP提供并确定其位于基于IP的承载不适合实时音频媒体的环境中。然而,端点B还具有可用于音频的PSTN电路交换承载。端点B生成包含通过电路交换承载的音频媒体流的描述的SDP应答。
During the offer/answer exchange, Endpoints A and B also agree upon the direction in which the circuit-switched bearer should be established. In this example, Endpoint B becomes the active party; in other words, it establishes the circuit-switched call to the other endpoint. The offer/answer exchange contains identifiers or references that can be used on the circuit-switched network for addressing the other endpoint, as well as information that is used to determine that the incoming circuit-switched bearer establishment is related to the ongoing session between the two endpoints.
在提供/应答交换期间,端点A和B还同意应建立电路交换承载的方向。在此示例中,端点B成为活动方;换句话说,它建立了对另一个端点的电路交换调用。提供/应答交换包含可在电路交换网络上用于寻址另一端点的标识符或参考,以及用于确定传入电路交换承载建立与两个端点之间正在进行的会话相关的信息。
Endpoint B establishes a circuit-switched bearer towards Endpoint A using whatever mechanisms are defined for the network type in question. When receiving the incoming circuit-switched connection attempt, Endpoint A is able to determine that the attempt is related to the session it is just establishing with B.
端点B使用为所讨论的网络类型定义的任何机制建立朝向端点a的电路交换承载。当接收到传入的电路交换连接尝试时,端点A能够确定该尝试与它刚刚与B建立的会话相关。
Endpoint A accepts the circuit-switched connection; the circuit-switched bearer setup is completed. The two endpoints can now use the circuit-switched connection for two-way audio media.
端点A接受电路交换连接;电路交换承载设置完成。两个端点现在可以使用双向音频媒体的电路交换连接。
If, for some reason, Endpoint B would like to reject the offered stream, it would set the port number of the specific stream to zero, as specified in RFC 3264 [RFC3264]. Also, if B does not understand some of the SDP attributes specified in this document, it would ignore them, as specified in RFC 4566 [RFC4566].
如果出于某种原因,端点B想要拒绝提供的流,它会将特定流的端口号设置为零,如RFC 3264[RFC3264]中所指定的。此外,如果B不理解本文档中指定的一些SDP属性,它将忽略它们,如RFC 4566[RFC4566]中所指定的。
Implementations that are compliant with this specification MUST implement the SDP extensions described in Section 5.2 and MUST implement the considerations discussed in Sections 5.3, 5.4, and 5.6.
符合本规范的实现必须实现第5.2节中描述的SDP扩展,并且必须实现第5.3、5.4和5.6节中讨论的注意事项。
This section provides the syntax and semantics of the extensions required for providing a description of audio or video media streams over circuit-switched bearers in SDP.
本节提供了描述SDP中通过电路交换承载的音频或视频媒体流所需的扩展的语法和语义。
According to SDP [RFC4566], the connection data line in SDP has the following syntax:
根据SDP[RFC4566],SDP中的连接数据线具有以下语法:
c=<nettype> <addrtype> <connection-address>
c=<nettype> <addrtype> <connection-address>
where <nettype> indicates the network type, <addrtype> indicates the address type, and <connection-address> is the connection address, which is dependent on the address type.
其中<nettype>表示网络类型,<addrtype>表示地址类型,<connection address>表示连接地址,这取决于地址类型。
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.
目前,唯一定义的网络类型是“IN”,表示Internet网络类型。地址类型“IP4”和“IP6”表示IP地址的类型。
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.
本备忘录定义了一种新的网络类型,用于描述PSTN中的电路交换承载网络类型。助记符“PSTN”用于此网络类型。
For the address type, we initially considered the possibility of describing E.164 telephone numbers. We define a new "E164" address type to be used within the context of a "PSTN" network type. The "E164" address type indicates that the connection address contains an E.164 number represented according to the ITU-T E.164 [ITU.E164.2010] recommendation.
对于地址类型,我们最初考虑了描述E.164电话号码的可能性。我们定义了一个新的“E164”地址类型,用于“PSTN”网络类型的上下文中。“E164”地址类型表示连接地址包含根据ITU-T E.164[ITU.E164.2010]建议表示的E.164号。
It is a common convention that an international E.164 number contains a leading '+' sign. For consistency's sake, we also require the E.164 telephone is prepended with a '+', even if that is not necessary for routing of the call in the PSTN network.
国际E.164编号包含前导“+”符号是一种常见的惯例。为了一致性起见,我们还要求E.164电话前面加“+”,即使这对于PSTN网络中的呼叫路由不是必需的。
There are cases, though, when the endpoint is merely aware of a circuit-switched bearer, without having further information about the E.164 number allocated to it. In these cases, a dash ("-") is used to indicate an unknown connection address. This makes the connection data line consistent with SDP syntax.
然而,在有些情况下,当端点仅仅知道电路交换承载,而没有关于分配给它的E.164号码的进一步信息。在这些情况下,破折号(“-”)用于指示未知的连接地址。这使得连接数据线与SDP语法一致。
Please note that the "E164" address type defined in this memo is exclusively defined to be used in conjunction with the "PSTN" network type in accordance with regular offer/answer procedures [RFC4566].
请注意,根据常规报价/应答程序[RFC4566],本备忘录中定义的“E164”地址类型专门定义为与“PSTN”网络类型一起使用。
Note: RFC 3108 [RFC3108] also defines address type "E.164". This definition is distinct from the one defined by this memo and shall not be used with <nettype> "PSTN".
注:RFC 3108[RFC3108]还定义了地址类型“E.164”。此定义与本备忘录定义的定义不同,不得与<nettype>“PSTN”一起使用。
This memo exclusively uses the international representation of E.164 numbers, i.e., those including a country code and, as described above, prepended with a '+' sign. Implementations conforming to this specification and using the "E164" address type together with the "PSTN" network type MUST use the 'global-number-digits' construction specified in RFC 3966 [RFC3966] for representing international E.164 numbers. This representation requires the presence of the '+' sign and additionally allows for the presence of one or more 'visual-separator' constructions for easier human readability (see Section 5.7).
本备忘录仅使用E.164数字的国际表示法,即包括国家代码的数字,如上所述,前面带有“+”符号。符合本规范并使用“E164”地址类型和“PSTN”网络类型的实施必须使用RFC 3966[RFC3966]中规定的“全局数字”结构来表示国际E.164数字。该表示法要求存在“+”符号,并允许存在一个或多个“视觉分隔符”结构,以便于人类阅读(见第5.7节)。
Note that <connection-address> MUST NOT be omitted when unknown since this would violate basic syntax of SDP [RFC4566]. In such cases, it MUST be set to a "-".
注意,<connection address>在未知时不能省略,因为这将违反SDP[RFC4566]的基本语法。在这种情况下,必须将其设置为“-”。
The following are examples of the extension to the connection data line:
以下是连接数据线扩展的示例:
c=PSTN E164 +441134960123
c=PSTN E164+441134960123
c=PSTN E164 -
c=PSTN E164-
When the <addrtype> is E164, the connection address is defined as follows:
当<addrtype>为E164时,连接地址定义如下:
o an international E.164 number (prepended with a '+' sign)
o 国际E.164号码(前面加“+”号)
o the value "-", signifying that the address is unknown
o 值“-”,表示地址未知
o any other value resulting from the production rule of connection-address in RFC 4566 [RFC4566], but in all cases any value encountered will be ignored.
o RFC 4566[RFC4566]中连接地址的生成规则产生的任何其他值,但在所有情况下,遇到的任何值都将被忽略。
According to SDP [RFC4566], the media description line in SDP has the following syntax:
根据SDP[RFC4566],SDP中的媒体描述行具有以下语法:
m=<media> <port> <proto> <fmt> ...
m=<media><port><proto><fmt>。。。
The <media> subfield carries the media type. For establishing an audio bearer, the existing "audio" media type is used. For establishing a video bearer, the existing "video" media type is used.
<media>子字段包含媒体类型。为了建立音频承载,使用现有的“音频”媒体类型。为了建立视频承载,使用现有的“视频”媒体类型。
The <port> subfield is the transport port to which the media stream is sent. Circuit-switched access lacks the concept of a port number; therefore, the <port> subfield does not carry any meaningful value. In order to be compliant with SDP syntax, implementations SHOULD set the <port> subfield to the discard port value "9" and MUST ignore it on reception.
<port>子字段是媒体流发送到的传输端口。电路交换接入缺乏端口号的概念;因此,<port>子字段不包含任何有意义的值。为了符合SDP语法,实现应将<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.
根据RFC3264[RFC3264],单播流的提供中的端口号为零表示该流已提供,但不得使用。如果单播流的应答中存在零端口号,则表示该流被拒绝。当SDP中的媒体线表示电路交换承载时,这些规则仍然有效。
The <proto> subfield 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.
<proto>子字段是传输协议。电路交换承载使用任何可用的传输协议。该子字段应设置为助记符“PSTN”,以便与SDP[RFC4566]语法正确,并指示PSTN中电路交换协议的使用。
The <fmt> subfield is the media format description. In the classical usage of SDP to describe RTP-based media streams, when the <proto> subfield is set to "RTP/AVP" or "RTP/SAVP", the <fmt> subfield contains the payload types as defined in the RTP audio profile [RFC3551].
<fmt>子字段是媒体格式描述。在SDP用于描述基于RTP的媒体流的经典用法中,当<proto>子字段设置为“RTP/AVP”或“RTP/SAVP”时,<fmt>子字段包含RTP音频配置文件[RFC3551]中定义的有效负载类型。
When "RTP/AVP" is used in the <proto> field, the <fmt> subfield contains the RTP payload type numbers. We use the <fmt> subfield to indicate the list of available codecs over the circuit-switched bearer, by reusing the conventions and payload type numbers defined for RTP / AVP. The RTP audio and video media types, when applied to PSTN circuit-switched bearers, represent merely an audio or video codec. If the endpoint is able to determine the list of available codecs for circuit-switched media streams, it MUST use the corresponding payload type numbers in the <fmt> subfield.
当在<proto>字段中使用“RTP/AVP”时,<fmt>子字段包含RTP有效负载类型编号。通过重用为RTP/AVP定义的约定和有效负载类型号,我们使用<fmt>子字段指示电路交换承载上可用编解码器的列表。RTP音频和视频媒体类型应用于PSTN电路交换承载时,仅表示音频或视频编解码器。如果端点能够确定电路交换媒体流的可用编解码器列表,则必须在<fmt>子字段中使用相应的有效负载类型编号。
In some cases, the endpoint is not able to determine the list of available codecs for circuit-switched media streams. In this case, in order to be syntactically compliant with SDP [RFC4566], the endpoint MUST include a single dash ("-") in the <fmt> subfield.
在某些情况下,端点无法确定电路交换媒体流的可用编解码器列表。在这种情况下,为了在语法上符合SDP[RFC4566],端点必须在<fmt>子字段中包含一个破折号(“-”)。
As per RFC 4566 [RFC4566], the media format descriptions are listed in priority order.
根据RFC 4566[RFC4566],媒体格式描述按优先级顺序列出。
Examples of media descriptions for circuit-switched audio streams are:
电路交换音频流的媒体描述示例如下:
m=audio 9 PSTN 3 0 8
m=音频9 PSTN 3 0 8
m=audio 9 PSTN -
m=音频9 PSTN-
Similarly, an example of a media description for circuit-switched video stream is:
类似地,电路交换视频流的媒体描述的示例为:
m=video 9 PSTN 34
m=视频9 PSTN 34
m=video 9 PSTN -
m=视频9 PSTN-
The endpoints should be able to correlate the circuit-switched bearer with the session negotiated with SDP in order to avoid ringing for an incoming circuit-switched bearer that is related to the session controlled with SDP (and SIP).
端点应该能够将电路交换承载与与SDP协商的会话相关联,以避免与SDP(和SIP)控制的会话相关的传入电路交换承载的振铃。
Several alternatives exist for performing this correlation. This memo provides three mutually non-exclusive correlation mechanisms. Additionally, we define a fourth mechanism where correlation may be performed by external means, typically by the human user, in case using other correlation mechanisms is not possible or does not succeed. Other correlation mechanisms may exist, and their usage will be specified when need arises.
有几种备选方案可用于执行这种关联。本备忘录提供了三种互不排斥的关联机制。此外,我们定义了第四种机制,其中在使用其他相关机制不可能或不成功的情况下,可以通过外部手段(通常由人类用户)执行相关。可能存在其他关联机制,并在需要时指定它们的用法。
All mechanisms share the same principle: some unique information is sent in the SDP and in the circuit-switched signaling protocol. If these pieces of information match, then the circuit-switched bearer is part of the session described in the SDP exchange. Otherwise, there is no guarantee that the circuit-switched bearer is related to such session.
所有机制共享相同的原理:在SDP和电路交换信令协议中发送一些独特的信息。如果这些信息匹配,则电路交换承载是SDP交换中描述的会话的一部分。否则,不能保证电路交换承载与该会话相关。
The first mechanism is based on the exchange of PSTN Caller ID between the endpoints. The Caller ID is also available as the Calling Party Number in the circuit-switched signaling.
第一种机制基于端点之间PSTN呼叫者ID的交换。在电路交换信令中,呼叫者ID也可用作呼叫方号码。
The second mechanism is based on the inclusion in SDP of a value that is also sent in the User-User Information Element that is part of the bearer setup signaling in the PSTN.
第二机制基于在SDP中包含值,该值也在作为PSTN中的承载设置信令的一部分的用户信息元素中发送。
The third mechanism is based on sending in SDP a string that represents Dual-Tone Multi-Frequency (DTMF) digits that will be later sent right after the circuit-switched bearer is established.
第三种机制基于在SDP中发送表示双音多频(DTMF)数字的字符串,该数字将在电路交换承载建立后立即发送。
The fourth correlation mechanism declares support for cases where correlation is done by external means. Typically, this means that the decision is left to the human user. This is how some current conferencing systems operate: after logging on to the conference, the system calls back to the user's phone number to establish audio communications, and it is up to the human user to accept or reject the incoming call. By declaring explicit support for this mechanism, endpoints can use it only when such a possibility exists.
第四种关联机制声明支持通过外部手段进行关联的情况。通常,这意味着决策权留给人类用户。这就是当前一些会议系统的工作方式:登录到会议后,系统回拨用户的电话号码以建立音频通信,由用户决定是否接受来电。通过声明对此机制的显式支持,端点只能在存在这种可能性时使用它。
Endpoints may opt to implement any combination of the correlation mechanisms specified in Sections 5.2.3.2, 5.2.3.3, 5.2.3.4, and 5.2.3.5, including the option to implement none at all.
端点可以选择实现第5.2.3.2节、第5.2.3.3节、第5.2.3.4节和第5.2.3.5节中规定的关联机制的任何组合,包括完全不实现的选项。
In order to provide support for the correlation mechanisms, we define a new media-level SDP attribute called "cs-correlation". There MUST be at most one "cs-correlation" attribute per media description.
为了提供对相关机制的支持,我们定义了一个新的媒体级SDP属性,称为“cs correlation”。每个媒体描述最多必须有一个“cs相关性”属性。
This "cs-correlation" attribute MAY contain zero or more subfields -- "callerid", "uuie", "dtmf", or "external" to specify additional information required by the Caller ID, User-User Information Element, DTMF, or external correlation mechanisms, respectively. The list of correlation mechanisms may be extended by other specifications; see Section 5.2.3.6 for more details.
此“cs correlation”属性可能包含零个或多个子字段--“callerid”、“uuie”、“dtmf”或“external”,以分别指定呼叫者ID、用户信息元素、dtmf或外部关联机制所需的附加信息。相关机制的列表可以通过其他规范进行扩展;详见第5.2.3.6节。
The following sections provide more detailed information about these subfields.
以下各节提供了有关这些子字段的更详细信息。
The values "callerid", "uuie", "dtmf", and "external" refer to the correlation mechanisms defined in Sections 5.2.3.2, 5.2.3.3, 5.2.3.4, and 5.2.3.5, respectively. The formal Augmented Backus-Naur Format (ABNF) syntax of the "cs-correlation" attribute is presented in Section 5.7.
值“callerid”、“uuie”、“dtmf”和“external”分别指第5.2.3.2、5.2.3.3、5.2.3.4和5.2.3.5节中定义的相关机制。第5.7节介绍了“cs correlation”属性的正式增强的Backus-Naur格式(ABNF)语法。
The Caller ID correlation mechanism consists of an exchange of the Calling Party Number as an international E.164 number in SDP, followed by the availability of the Calling Party Number Information Element in the call setup signaling of the circuit-switched connection. If both pieces of information match, the circuit-switched bearer is correlated to the session described in SDP.
呼叫方ID相关机制包括呼叫方号码作为SDP中的国际E.164号码的交换,随后是电路交换连接的呼叫建立信令中呼叫方号码信息元素的可用性。如果两条信息匹配,则电路交换承载与SDP中描述的会话相关。
An example of inclusion of an international E.164 number in the "cs-correlation" attribute is:
“cs相关性”属性中包含国际E.164编号的示例如下:
a=cs-correlation:callerid:+441134960123
a=cs-correlation:callerid:+441134960123
The presence of the "callerid" subfield indicates that the endpoint supports use of the Calling Party Number as a means of correlating a PSTN call with the session being negotiated. The "callerid" subfield MAY be accompanied by the international E.164 number of the party inserting the parameter.
“callerid”子字段的存在表示端点支持使用主叫方号码作为将PSTN呼叫与正在协商的会话相关联的手段。“callerid”子字段可能附带插入参数的一方的国际E.164号码。
Note that there are no guarantees that this correlation mechanism works or is even available, due a number of problems:
请注意,由于存在许多问题,无法保证此关联机制有效或可用:
* The endpoint might not be aware of its own E.164 number, in which case it cannot populate the SDP appropriately.
* 端点可能不知道自己的E.164编号,在这种情况下,它无法适当地填充SDP。
* 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.
* 电路交换信令中的呼叫方号码信息元素可能不可用,例如,由于网络运营商的策略限制或由于隐私的呼叫方限制。
* 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, due to, e.g., lack of country code. To mitigate this problem, implementations should consider only some of the rightmost digits from the E.164 number for correlation. For example, the numbers +44-113-496-0123 and 0113-496-0123 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,
* 电路交换信令中的主叫方号码信息元素可能可用,但由于例如缺少国家代码,E.164号码的数字表示可能与SDP中表示的数字表示不同。为了减轻这个问题,实现应该只考虑E.164号中最右边的一些数字进行相关性。例如,数字+44-113-496-0123和0113-496-0123可以视为相同的数字。这也是一些手机的行为,它们将来电方与电话簿中存储的号码相关联,
for the purpose of displaying the caller's name. Please refer to ITU-T E.164 recommendation [ITU.E164.2010] for consideration of the relevant number of digits to consider.
用于显示呼叫者的姓名。请参阅ITU-T E.164建议[ITU.E164.2010],以考虑相关数字的数目。
A second correlation mechanism is based on including in SDP a string that represents the User-User Information Element that is part of the call setup signaling of the circuit-switched bearer. The User-User Information Element is specified in ITU-T Q.931 [ITU.Q931.1998] and 3GPP TS 24.008 [TS.24.008], among others. The User-User Information Element has a maximum size of 35 or 131 octets, depending on the actual message of the PSTN protocol where it is included and the network settings.
第二相关机制基于在SDP中包括表示作为电路交换承载的呼叫建立信令的一部分的用户信息元素的字符串。用户信息元素在ITU-T Q.931[ITU.Q931.1998]和3GPP TS 24.008[TS.24.008]等中规定。用户信息元素的最大大小为35或131个八位字节,这取决于包含它的PSTN协议的实际消息和网络设置。
The mechanism works as follows. An endpoint creates a User-User Information Element, according to the requirements of the call setup signaling protocol. The same value is included in the SDP offer or SDP answer, in the "uuie" subfield of the "cs-correlation" attribute. When the SDP offer/answer exchange is completed, each endpoint has become aware of the value that will be used in the User-User Information Element of the call setup message of the PSTN protocol. The endpoint that initiates the call setup attempt includes this value in the User-User Information Element. The recipient of the call setup attempt can extract the User-User Information Element and correlate it with the value previously received in the SDP. If both values match, then the call setup attempt corresponds to that indicated in the SDP.
该机制的工作原理如下。端点根据呼叫建立信令协议的要求创建用户信息元素。相同的值包含在“cs相关性”属性的“uuie”子字段中的SDP提供或SDP应答中。当SDP提供/应答交换完成时,每个端点都知道将在PSTN协议的呼叫设置消息的用户信息元素中使用的值。发起呼叫设置尝试的端点在用户信息元素中包含此值。呼叫设置尝试的接收者可以提取用户信息元素,并将其与先前在SDP中接收到的值相关联。如果两个值匹配,则呼叫设置尝试与SDP中指示的对应。
According to ITU-T Q.931 [ITU.Q931.1998], the User-User Information Element (UUIE) identifier is composed of a first octet identifying this as a User-User Information Element, a second octet containing the length of the user-user contents, a third octet containing a Protocol Discriminator, and a value of up to 32 or 128 octets (depending on network settings) containing the actual User Information (see Figure 4-36 in [ITU.Q931.1998]). The first two octets of the UUIE MUST NOT be used for correlation; only the octets carrying the Protocol Discriminator and the User Information value are input to the creation of the value of the "uuie" subfield in the "cs-correlation" attribute. Therefore, the value of the "uuie" subfield in the "cs-correlation" attribute MUST start with the Protocol Discriminator octet, followed by the User Information octets. The value of the Protocol Discriminator octet is not specified in this document; it is expected that organizations using this technology will allocate a suitable value for the Protocol Discriminator.
根据ITU-T Q.931[ITU.Q931.1998],用户信息元素(UUIE)标识符由将其标识为用户信息元素的第一个八位组、包含用户内容长度的第二个八位组、包含协议鉴别器的第三个八位组和最多32或128个八位组的值组成(取决于网络设置)包含实际用户信息(参见[ITU.Q931.1998]中的图4-36)。UUIE的前两个八位字节不得用于关联;只有携带协议鉴别器和用户信息值的八位字节被输入到“cs关联”中“UUIE”子字段的值的创建中因此,“cs相关性”中“uuie”子字段的值属性必须以协议鉴别器八位字节开始,然后是用户信息八位字节。本文档中未指定协议鉴别器八位字节的值;使用此技术的组织将为协议鉴别器分配合适的值。
Once the binary value of the "uuie" subfield in the "cs-correlation" attribute is created, it MUST be base 16 (also known as "hex") encoded before it is inserted in SDP. Please refer to RFC 4648 [RFC4648] for a detailed description of base 16 encoding. The resulting encoded value needs to have an even number of hexadecimal digits and MUST be considered invalid if it has an odd number.
一旦“cs correlation”属性中的“uuie”子字段的二进制值被创建,在将其插入SDP之前,必须对其进行基数16(也称为“十六进制”)编码。有关base 16编码的详细说明,请参阅RFC 4648[RFC4648]。生成的编码值需要有偶数个十六进制数字,如果有奇数,则必须视为无效。
Note: The encoding of the "uuie" subfield of the "cs-correlation" attribute is largely inspired by the encoding of the same value in the User-to-User header field in SIP, according to "A Mechanism for Transporting User to User Call Control Information in SIP" [SIP-UUI].
注:“cs correlation”属性的“uuie”子字段的编码在很大程度上受SIP中用户对用户报头字段中相同值的编码的启发,根据“SIP中传输用户对用户呼叫控制信息的机制”[SIP-UUI]。
As an example, an endpoint willing to send a UUIE containing a Protocol Discriminator with the hexadecimal value of %x56 and an hexadecimal User Information value of %xA390F3D2B7310023 would include an "a=cs-correlation" attribute line as follows:
例如,愿意发送包含十六进制值为%x56、十六进制用户信息值为%xA390F3D2B7310023的协议鉴别器的UUIE的端点将包括“a=cs correlation”属性行,如下所示:
a=cs-correlation:uuie:56A390F3D2B7310023
a=cs-correlation:uuie:56A390F3D2B7310023
Note that the value of the User-User Information Element is considered as an opaque string and only used for correlation purposes. Typically, call signaling protocols impose requirements on the creation of a User-User Information Element for end-user protocol exchange. The details regarding the generation of the User-User Information Element are outside the scope of this specification.
请注意,用户信息元素的值被视为不透明字符串,仅用于关联目的。通常,呼叫信令协议对最终用户协议交换的用户信息元素的创建施加要求。有关生成用户信息元素的详细信息不在本规范的范围内。
Please note that there are no guarantees 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.
请注意,不能保证这种关联机制有效。一方面,策略限制可能无法使用户信息在PSTN中端到端可用。另一方面,用户信息元素的生成由PSTN电路交换呼叫协议控制,其可能不提供足够的自由度来生成从一个端点到另一个端点或从同一端点中的一个呼叫到另一个端点的不同值。这可能会导致所有调用的用户信息元素的值相同。
We introduce a third mechanism for correlating the circuit-switched bearer with the session described with SDP. This is based on agreeing on a sequence of digits that are negotiated in the SDP offer/answer exchange and sent as DTMF tones as described in ITU-T Recommendation Q.23 [ITU.Q23.1988] over the circuit-switched bearer once this bearer is established. If the DTMF digit sequence received through the circuit-switched bearer matches the digit string negotiated in the SDP, the circuit-switched bearer is correlated with
我们引入第三种机制,用于将电路交换承载与SDP描述的会话相关联。这是基于在SDP提供/应答交换中协商的数字序列达成一致,并在电路交换承载建立后,如ITU-T建议Q.23[ITU.Q23.1988]所述,通过电路交换承载发送DTMF音。如果通过电路交换承载接收的DTMF数字序列与SDP中协商的数字字符串匹配,则电路交换承载与
the session described in the SDP. The mechanism is similar to many voice conferencing systems that require the user to enter a PIN code using DTMF tones in order to be accepted in a voice conference.
SDP中描述的会话。该机制类似于许多语音会议系统,要求用户使用DTMF音调输入PIN码,以便在语音会议中被接受。
The mechanism works as follows. An endpoint selects a DTMF digit sequence. The same sequence is included in the SDP offer or SDP answer, in a "dtmf" subfield of the "cs-correlation" attribute. When the SDP offer/answer exchange is completed, each endpoint has become aware of the DTMF sequence that will be sent right after the circuit-switched bearer is set up. The endpoint that initiates the call setup attempt sends the DTMF digits according to the procedures defined for the circuit-switched bearer technology used. The recipient (passive side of the bearer setup) of the call setup attempt collects the digits and compares them with the value previously received in the SDP. If the digits match, then the call setup attempt corresponds to that indicated in the SDP.
该机制的工作原理如下。端点选择DTMF数字序列。相同的序列包含在“cs相关性”属性的“dtmf”子字段中的SDP提供或SDP应答中。当SDP提供/应答交换完成时,每个端点都知道将在设置电路交换承载后立即发送的DTMF序列。发起呼叫设置尝试的端点根据为使用的电路交换承载技术定义的过程发送DTMF数字。呼叫设置尝试的接收者(承载设置的被动端)收集数字并将其与先前在SDP中接收到的值进行比较。如果数字匹配,则呼叫设置尝试与SDP中指示的对应。
Note: Implementations are advised to select a number of DTMF digits that provide enough assurance that the call is related but do not prolong the bearer setup time unnecessarily. A number of 5 to 10 digits is a good compromise.
注意:建议实现选择一定数量的DTMF数字,这些数字可以充分保证呼叫相关,但不会不必要地延长承载设置时间。5到10位数是一个很好的折衷方案。
As an example, an endpoint willing to send DTMF tone sequence "14D*3" would include an "a=cs-correlation" attribute line as follows:
例如,愿意发送DTMF音调序列“14D*3”的端点将包括“a=cs相关性”属性行,如下所示:
a=cs-correlation:dtmf:14D*3
a=cs-correlation:dtmf:14D*3
If the endpoints successfully agree on the usage of the DTMF digit correlation mechanism but the passive side does not receive any DTMF digits after successful circuit-switched bearer setup or receives a set of DTMF digits that do not match the value of the "dtmf" attribute (including receiving too many digits), the passive side SHOULD consider that this DTMF mechanism has failed to correlate the incoming call.
如果端点成功同意使用DTMF数字相关机制,但在成功设置电路交换承载后,无源侧未接收到任何DTMF数字,或接收到一组与“DTMF”属性值不匹配的DTMF数字(包括接收过多数字),被动侧应该考虑到这种DTMF机制没有关联进来的呼叫。
The fourth correlation mechanism relies on external means for correlating the incoming call to the session. Since endpoints can select which correlation mechanisms they support, it may happen that no other common correlation mechanism is found or that the selected correlation mechanism does not succeed due to the required feature not being supported by the underlying PSTN network. In these cases, the human user can make the decision to accept or reject the incoming call, thus "correlating" the call with the session. Since not all endpoints are operated by a human user and since there may be no
第四种关联机制依赖于将传入呼叫与会话关联的外部手段。由于端点可以选择它们支持的关联机制,因此可能找不到其他公共关联机制,或者由于底层PSTN网络不支持所需的功能,所选关联机制无法成功。在这些情况下,人类用户可以决定接受或拒绝传入呼叫,从而将呼叫与会话“关联”。因为并非所有端点都由人类用户操作,而且可能没有
other external means implemented by the endpoint for the correlation function, we explicitly define support for such an external correlation mechanism.
端点为相关函数实现的其他外部方法,我们明确定义了对这种外部相关机制的支持。
Endpoints wishing to use this external correlation mechanism would use the "external" subfield in the "cs-correlation" attribute. Unlike the other three correlation mechanisms, the "external" subfield does not accept a value. The following is an example of an "a=cs-correlation" attribute line:
希望使用此外部关联机制的端点将使用“cs correlation”属性中的“external”子字段。与其他三种关联机制不同,“外部”子字段不接受值。以下是“a=cs相关性”属性行的示例:
a=cs-correlation:external
a=cs相关性:外部
Endpoints that are willing to only use the three explicit correlation mechanisms defined in this document ("callerid", "uuie", and/or "dtmf") would not include the "external" mechanism in the offer/answer exchange.
愿意只使用本文档中定义的三种显式关联机制(“callerid”、“uuie”和/或“dtmf”)的端点不会在提供/应答交换中包括“外部”机制。
The external correlation mechanism typically relies on the human user to make the decision on whether or not the call is related to the ongoing session. After the user accepts the call, that bearer is considered as related to the session. There is a small chance that the user receives at the same time another circuit-switched call that is not related to the ongoing session. The user may reject this call if he is able to determine (e.g., based on the calling line identification) that the call is not related to the session and continue waiting for another call attempt. If the user accepts the incoming circuit-switched call, but it turns out to be not related to the session, the endpoints need to rely on the human user to take appropriate action (typically, the user would hang up).
外部关联机制通常依赖于人类用户来决定呼叫是否与正在进行的会话相关。用户接受呼叫后,该承载被视为与会话相关。用户在同一时间收到与正在进行的会话无关的另一个电路交换呼叫的可能性很小。如果用户能够确定(例如,基于呼叫线路标识)呼叫与会话无关并继续等待另一次呼叫尝试,则用户可以拒绝该呼叫。如果用户接受传入的电路交换呼叫,但结果与会话无关,则端点需要依靠人工用户采取适当的操作(通常,用户会挂断)。
New values for the "cs-correlation" attribute may be specified. The registration policy for new values is "Specification Required"; see Section 8. Any such specification MUST include a description of how the SDP offer/answer mechanism is used to negotiate the use of the new values, taking into account how endpoints determine which side will become active or passive (see Section 5.3 for more details).
可以指定“cs相关性”属性的新值。新值的注册策略为“需要规范”;见第8节。任何此类规范必须包括SDP提供/应答机制如何用于协商新值的使用的说明,同时考虑端点如何确定哪一方将变为主动或被动(更多详细信息,请参见第5.3节)。
If, during the offer/answer negotiation, either endpoint encounters an unknown value in the "cs-correlation" attribute, it MUST consider that mechanism as unsupported and MUST NOT include that value in subsequent offer/answer negotiation.
如果在提供/应答协商中,任一端点在“CS相关”属性中遇到未知值,则它必须认为该机制是不支持的,并且在后续的报价/应答协商中不必包含该值。
The four correlation mechanisms presented above (based on Called Party Number, User-User Information Element, DTMF digit sending, and external) are non-exclusive and can be used independently of each other. In order to know how to populate the "cs-correlation" attribute, the endpoints need to agree which endpoint will become the active party, i.e., the one that will set up the circuit-switched bearer.
上述四种相关机制(基于被叫方号码、用户信息元素、DTMF数字发送和外部)是非互斥的,可以相互独立使用。为了知道如何填充“cs correlation”属性,端点需要商定哪个端点将成为活动方,即将设置电路交换承载的端点。
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 MUST be negotiated during the offer/answer exchange.
为了避免两个端点同时尝试发起连接的情况,必须在提供/应答交换期间协商电路交换承载的设置方向。
The framework defined in RFC 4145 [RFC4145] allows the endpoints to agree which endpoint acts as the active endpoint when initiating a TCP connection. While RFC 4145 [RFC4145] was originally designed for establishing TCP connections, it can be easily extrapolated to the connection establishment of circuit-switched bearers. This specification uses the concepts specified in RFC 4145 [RFC4145] for agreeing on the direction of establishment of a circuit-switched bearer.
RFC 4145[RFC4145]中定义的框架允许端点在启动TCP连接时商定哪个端点作为活动端点。虽然RFC 4145[RFC4145]最初是为建立TCP连接而设计的,但它可以很容易地推断为电路交换承载的连接建立。本规范使用RFC 4145[RFC4145]中规定的概念来商定建立电路交换承载的方向。
RFC 4145 [RFC4145] defines two new attributes in SDP: "setup" and "connection". The "setup" attribute indicates which of the endpoints should initiate the connection establishment of the PSTN circuit-switched bearer. Four values are defined in Section 4 of RFC 4145 [RFC4145]: "active", "passive", "actpass", and "holdconn". Please refer to Section 4 of RFC 4145 [RFC4145] for a detailed description of this attribute.
RFC 4145[RFC4145]在SDP中定义了两个新属性:“设置”和“连接”。“setup”属性指示哪个端点应启动PSTN电路交换承载的连接建立。RFC 4145[RFC4145]第4节定义了四个值:“主动”、“被动”、“actpass”和“holdconn”。有关此属性的详细说明,请参阅RFC 4145[RFC4145]的第4节。
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.
“connection”属性指示是需要新连接还是重用现有连接。该属性可以采用值“new”或“existing”。有关此属性的详细说明,请参阅RFC 4145[RFC4145]的第5节。
Implementations that are compliant with this specification MUST support the "setup" and "connection" attributes specified in RFC 4145 [RFC4145], but applied to circuit-switched bearers in the PSTN.
符合本规范的实现必须支持RFC 4145[RFC4145]中指定的“设置”和“连接”属性,但适用于PSTN中的电路交换承载。
We define the active party as the one that initiates the circuit-switched bearer after the offer/answer exchange. The passive party is the one receiving the circuit-switched bearer. Either party may indicate its desire to become the active or passive party during the offer/answer exchange using the procedures described in Section 5.6.
我们将主动方定义为在提供/应答交换之后发起电路交换承载的一方。被动方是接收电路交换承载的一方。任何一方均可使用第5.6节所述的程序,在报价/应答交换期间表明其成为主动方或被动方的意愿。
By defining values for the subfields in the "cs-correlation" attribute, the endpoint indicates that it is willing to become the active party and that it can use those values in the Calling Party Number, in the User-User Information Element, or as DTMF tones during the circuit-switched bearer setup.
通过在“cs correlation”属性中定义子字段的值,端点指示它愿意成为活动方,并且它可以在呼叫方号码、用户信息元素中使用这些值,或者在电路交换承载设置期间将其用作DTMF音调。
Thus, the following rules apply:
因此,以下规则适用:
o An endpoint that can only become the active party in the circuit-switched bearer setup MUST include all correlation mechanisms it supports in the "cs-correlation" attribute and MUST also specify values for the "callerid", "uuie", and "dtmf" subfields. Notice that the "external" subfield does not accept a value.
o 只能成为电路交换承载设置中的活动方的端点必须在“cs correlation”属性中包含其支持的所有关联机制,并且还必须指定“callerid”、“uuie”和“dtmf”子字段的值。请注意,“外部”子字段不接受值。
o An endpoint that can only become the passive party in the circuit-switched bearer setup MUST include all correlation mechanisms it supports in the "cs-correlation" attribute but MUST NOT specify values for the subfields.
o 只能成为电路交换承载设置中的被动方的端点必须在“cs correlation”属性中包含其支持的所有相关机制,但不得指定子字段的值。
o An endpoint that is willing to become either the active or passive party (by including the "a=setup:actpass" attribute in the offer) MUST include all correlation mechanisms it supports in the "cs-correlation" attribute and MUST also specify values for the "callerid", "uuie", and "dtmf" subfields. Notice that the "external" subfield does not accept a value.
o 愿意成为主动方或被动方的端点(通过在要约中包含“a=setup:actpass”属性)必须在“cs correlation”属性中包含其支持的所有关联机制,并且还必须指定“callerid”、“uuie”和“dtmf”子字段的值。请注意,“外部”子字段不接受值。
Passive endpoints should expect an incoming circuit-switched (CS) call for setting up the audio bearer. Passive endpoints MAY suppress the incoming CS alert during certain time periods. Additional restrictions can be applied, such as the passive endpoint not alerting incoming calls originated from the number that was observed during the offer/answer negotiation.
被动端点应该期望传入电路交换(CS)呼叫来设置音频承载。被动端点可能会在特定时间段内抑制传入的CS警报。还可以应用其他限制,例如被动端点不提醒来自在提供/应答协商期间观察到的号码的传入呼叫。
There may be cases when an endpoint is not willing to include one or more correlation mechanisms in the "a=cs-correlation" attribute line even if it supports it. For example, some correlation mechanisms can be omitted if the endpoint is certain that the PSTN network does not support carrying the correlation identifier. Also, since using the DTMF-based correlation mechanism requires the call to be accepted before DTMF tones can be sent, some endpoints may enforce a policy restricting this due to, for example, cost associated with received calls, making the DTMF-based mechanism unusable.
可能存在端点不愿意在“a=cs correlation”属性行中包括一个或多个关联机制的情况,即使它支持它。例如,如果端点确定PSTN网络不支持携带相关标识符,则可以省略一些相关机制。此外,由于使用基于DTMF的相关机制要求在可以发送DTMF音调之前接受呼叫,因此一些端点可能强制执行限制这一点的策略,例如,由于与接收到的呼叫相关联的成本,使得基于DTMF的机制不可用。
Note that it cannot be guaranteed that the correlation mechanisms relying on caller identification, User-User Information Element, and DTMF sending will succeed even if the usage of those was agreed beforehand. This is due to the fact that correlation mechanisms require support from the circuit-switched bearer technology used.
请注意,即使事先同意使用呼叫者标识、用户信息元素和DTMF发送,也无法保证依赖于呼叫者标识、用户信息元素和DTMF发送的相关机制会成功。这是因为相关机制需要所使用的电路交换承载技术的支持。
Therefore, even a single positive indication using any of these mechanisms SHOULD be interpreted by the passive endpoint so that the circuit-switched bearer establishment is related to the ongoing session, even if the other correlation mechanisms fail.
因此,即使使用这些机制中的任何一个的单个肯定指示也应由被动端点解释,以便即使其他相关机制失败,电路交换承载建立也与正在进行的会话相关。
If, after successfully negotiating any of the "callerid", "uuie", or "dtmf" correlation mechanisms in the SDP offer/answer exchange, an endpoint receives an incoming establishment of a circuit-switched bearer with no correlation information present, the endpoint first checks whether or not the offer/answer exchange was also used to successfully negotiate the "external" correlation mechanism. If it was, the endpoint should let the decision be made by external means, typically the human user. If the "external" correlation mechanism was not successfully negotiated, the endpoint should treat the call as unrelated to the ongoing session in the IP domain.
如果在成功协商SDP提供/应答交换中的任何“被叫方”、“uuie”或“dtmf”相关机制之后,端点接收到电路交换承载的传入建立,而不存在相关信息,端点首先检查提供/应答交换是否也用于成功协商“外部”关联机制。如果是,端点应该让外部手段(通常是人类用户)做出决策。如果未成功协商“外部”关联机制,端点应将呼叫视为与IP域中正在进行的会话无关。
According to SDP [RFC4566], the origin line in SDP has the following syntax:
根据SDP[RFC4566],SDP中的原点具有以下语法:
o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
Of interest here are the <nettype> and <addrtype> fields, which indicate the type of network and type of address, respectively. Typically, this field carries the IP address of the originator of the session. Even if the SDP was used to negotiate an audio or video media stream transported over a circuit-switched bearer, the originator is using SDP over an IP bearer. Therefore, <nettype> and <addrtype> fields in the "o=" line should be populated with the IP address identifying the source of the signaling.
这里有趣的是<nettype>和<addrtype>字段,它们分别表示网络类型和地址类型。通常,此字段包含会话发起人的IP地址。即使SDP用于协商通过电路交换承载传输的音频或视频媒体流,发起者也在通过IP承载使用SDP。因此,“o=”行中的<nettype>和<addrtype>字段应填充标识信令源的IP地址。
SDP [RFC4566] defines the "p=" line, which may include the phone number of the person responsible for the conference. Even though this line can carry a phone number, it is not suited for the purpose of defining a connection address for the media. Therefore, we have selected to define the PSTN-specific connection addresses in the "c=" line.
SDP[RFC4566]定义了“p=”行,其中可能包括会议负责人的电话号码。即使这条线路可以携带电话号码,但它不适合定义媒体的连接地址。因此,我们选择在“c=”行中定义特定于PSTN的连接地址。
"Best Current Practices for Third Party Call Control (3PCC) in the Session Initiation Protocol (SIP)" [RFC3725] outlines several flows that are possible in third party call control scenarios and recommends some flows for specific situations.
“会话启动协议(SIP)中第三方呼叫控制(3PCC)的最佳当前实践”[RFC3725]概述了在第三方呼叫控制场景中可能出现的几种流,并针对特定情况推荐了一些流。
One of the assumptions in [RFC3725] is that an SDP offer may include a "black hole" connection address, which has the property that packets sent to it will never leave the host that sent them. For IPv4, this "black hole" connection address is 0.0.0.0 or a domain name within the .invalid DNS top level domain.
[RFC3725]中的一个假设是SDP提供可能包括一个“黑洞”连接地址,该地址具有发送到它的数据包永远不会离开发送它们的主机的属性。对于IPv4,此“黑洞”连接地址是0.0.0.0,或者是.DNS顶级域中的域名。
When using an E.164 address scheme in the context of third party call control, when the User Agent needs to indicate an unknown phone number, it MUST populate the <addrtype> of the SDP "c=" line with a "-" string.
在第三方呼叫控制上下文中使用E.164地址方案时,当用户代理需要指示未知电话号码时,它必须使用“-”字符串填充SDP“c=”行的<addrtype>。
Note: This may result in the recipient of the initial offer rejecting such offer if the recipient of the offer was not aware of its own E.164 number. Consequently, it will not be possible to establish a circuit-switched bearer, since neither party is aware of its E.164 number.
注:如果要约接收人不知道自己的E.164号码,这可能导致初始要约接收人拒绝该要约。因此,将不可能建立电路交换承载,因为任何一方都不知道其E.164号码。
In this section, we define extensions to the offer/answer model defined in "An Offer/Answer Model with the Session Description Protocol (SDP)" [RFC3264] to allow for PSTN addresses to be used with the offer/answer model.
在本节中,我们定义了对“具有会话描述协议(SDP)的提供/应答模型”[RFC3264]中定义的提供/应答模型的扩展,以允许PSTN地址与提供/应答模型一起使用。
The offerer, wishing to use PSTN audio or video stream, MUST populate the "c=" and "m=" lines as follows.
希望使用PSTN音频或视频流的报价人必须填写“c=”和“m=”行,如下所示。
The endpoint MUST set the <nettype> in the "c=" line to "PSTN" and the <addrtype> to "E164". Furthermore, the endpoint SHOULD set the <connection-address> field to its own international E.164 number (with a leading "+"). If the endpoint is not aware of its own E.164 number, it MUST set the <connection-address> to "-".
端点必须将“c=”行中的<nettype>设置为“PSTN”,将<addrtype>设置为“E164”。此外,端点应将<connection address>字段设置为其自己的国际E.164编号(前导“+”)。如果端点不知道自己的E.164号,则必须将<connection address>设置为“-”。
In the "m=" line, the endpoint MUST set the <media> subfield to "audio" or "video", depending on the media type, and the <proto> subfield to "PSTN". The <port> subfield SHOULD be set to "9" (the discard port). The values "audio" or "video" in the <media> subfield MUST NOT be set by the endpoint unless it has knowledge that these bearer types are available on the circuit-switched network.
在“m=”行中,端点必须根据媒体类型将<media>子字段设置为“audio”或“video”,并将<proto>子字段设置为“PSTN”。<port>子字段应设置为“9”(丢弃端口)。<media>子字段中的值“audio”或“video”不能由端点设置,除非它知道这些承载类型在电路交换网络上可用。
The <fmt> subfield carries the payload type number(s) the endpoint is wishing to use. Payload type numbers in this case refer to the codecs that the endpoint wishes to use on the PSTN media stream. For example, if the endpoint wishes to use the GSM codec, it would add payload type number 3 in the list of codecs. The list of payload types MUST only contain those codecs the endpoint is able to use on the PSTN bearer. In case the endpoint is not aware of the codecs available for the circuit-switched media streams, it MUST include a dash ("-") in the <fmt> subfield.
<fmt>子字段包含端点希望使用的有效负载类型编号。在这种情况下,有效负载类型编号指的是端点希望在PSTN媒体流上使用的编解码器。例如,如果端点希望使用GSM编解码器,它将在编解码器列表中添加负载类型3。有效负载类型列表必须仅包含端点能够在PSTN承载上使用的编解码器。如果端点不知道可用于电路交换媒体流的编解码器,则它必须在<fmt>子字段中包含破折号(“-”)。
The mapping table of static payload types numbers to payload types is initially specified in [RFC3551] and maintained by IANA. For dynamic payload types, the endpoint MUST define the set of valid encoding names and related parameters using the "a=rtpmap" attribute line. See Section 6 of RFC 4566 [RFC4566] for details.
静态有效负载类型编号到有效负载类型的映射表最初在[RFC3551]中指定,并由IANA维护。对于动态负载类型,端点必须使用“a=rtpmap”属性行定义一组有效的编码名称和相关参数。详见RFC 4566[RFC4566]第6节。
When generating the offer, the offerer MUST include an "a=cs-correlation" attribute line in the SDP offer. The offerer MUST NOT include more than one "cs-correlation" attribute per media description. The "a=cs-correlation" line SHOULD contain an enumeration of all the correlation mechanisms supported by the offerer, in the format of subfields. See Section 5.3.3 for more information on usage of the correlation mechanisms.
生成报价时,报价人必须在SDP报价中包含“a=cs相关性”属性行。报价人不得在每个媒体描述中包含多个“cs相关性”属性。“a=cs相关性”行应以子字段的形式包含报价人支持的所有相关性机制的枚举。有关关联机制使用的更多信息,请参见第5.3.3节。
The current list of subfields include "callerid", "uuie", "dtmf", and "external", and they refer to the correlation mechanisms defined in Sections 5.2.3.2, 5.2.3.3, 5.2.3.4, and 5.2.3.5, respectively.
当前子字段列表包括“callerid”、“uuie”、“dtmf”和“external”,它们分别指第5.2.3.2、5.2.3.3、5.2.3.4和5.2.3.5节中定义的相关机制。
If the offerer supports any of the correlation mechanisms defined in this memo and is willing to become the active party, the offerer MUST add the "callerid", "uuie", "dtmf", and/or "external" subfields and MUST specify values for them as follows:
如果报价人支持本备忘录中定义的任何关联机制,并愿意成为主动方,报价人必须添加“callerid”、“uuie”、“dtmf”和/或“external”子字段,并且必须为其指定如下值:
o The international E.164 number as the value in the "callerid" subfield.
o 国际E.164编号作为“callerid”子字段中的值。
o The contents of the User-User Information Element as the value of the "uuie" subfield.
o 用户信息元素的内容作为“uuie”子字段的值。
o The DTMF tone string as the value of the "dtmf" subfield.
o DTMF音调字符串作为“DTMF”子字段的值。
o The endpoint MUST NOT specify any value for the "external" subfield.
o 端点不得为“外部”子字段指定任何值。
If the offerer is only able to become the passive party in the circuit-switched bearer setup, it MUST add at least one of the possible correlation mechanisms but MUST NOT specify values for those subfields.
如果发盘方只能成为电路交换承载设置中的被动方,则必须添加至少一种可能的相关机制,但不得指定这些子字段的值。
For example, if the offerer is willing to use the User-User Information Element and DTMF digit-sending mechanisms but can only become the passive party, and is also able to let the human user decide whether the correlation should be done or not, it includes the following lines in the SDP:
例如,如果报价人愿意使用用户信息元素和DTMF数字发送机制,但只能成为被动方,并且还能够让人类用户决定是否应该进行关联,则在SDP中包括以下行:
a=cs-correlation:uuie dtmf external
a=cs相关性:uuie dtmf外部
a=setup:passive
a=设置:被动
If, on the other hand, the offerer is willing to use the User-User Information Element and the DTMF correlation mechanisms and is able to become the active or passive side, and is also able to let the human user decide whether the correlation should be done or not, it includes the following lines in the SDP:
另一方面,如果报价人愿意使用用户信息元素和DTMF相关机制,并且能够成为主动方或被动方,并且也能够让人类用户决定是否应该进行相关,则其在SDP中包括以下行:
a=cs-correlation:uuie:56A390F3D2B7310023 dtmf:14D*3 external
a=cs-correlation:uuie:56A390F3D2B7310023 dtmf:14D*3 external
a=setup:actpass
a=设置:actpass
The negotiation of the value of the "setup" attribute takes place as defined in Section 4.1 of RFC 4145 [RFC4145].
按照RFC 4145[RFC4145]第4.1节的规定,协商“设置”属性的值。
The offerer states which role or roles it is willing to perform; the answerer, taking the offerer's willingness into consideration, chooses which roles both endpoints will actually perform during the circuit-switched bearer setup.
要约人陈述其愿意履行的一个或多个角色;应答者在考虑报价人意愿的情况下,选择两个端点在电路交换承载设置期间实际执行的角色。
By "active" endpoint, we refer to an endpoint that will establish the circuit-switched bearer; by "passive" endpoint, we refer to an endpoint that will receive a circuit-switched bearer.
通过“活动”端点,我们指的是将建立电路交换承载的端点;所谓“被动”端点,指接收电路交换承载的端点。
If an offerer does not know its international E.164 number, it MUST set the "setup" attribute to the value "active". If the offerer knows its international E.164 number, it SHOULD set the value to either "actpass" or "passive".
如果报价人不知道其国际E.164号码,则必须将“设置”属性设置为“活动”值。如果报价人知道其国际E.164号码,则应将该值设置为“actpass”或“被动”。
Also "holdconn" is a permissible value in the "setup" attribute. It indicates that the connection should not be established for the time being.
“holdconn”也是“设置”属性中允许的值。它表示暂时不应建立连接。
The offerer uses the "connection" attribute to decide whether a new circuit-switched bearer is to be established or not. For the initial offer, the offerer MUST use value "new".
发盘方使用“连接”属性来决定是否建立新的电路交换承载。对于初始报价,报价人必须使用“新”值。
If the offer contained a circuit-switched audio or video stream, the answerer first determines whether it is able to accept and use such streams on the circuit-switched network. If the answerer does not support or is not willing to use circuit-switched media for the session, it MUST construct an answer where the port number for such media stream(s) is set to zero, according to Section 6 of [RFC3264]. If the answerer is willing to use circuit-switched media for the session, it MUST ignore the received port number (unless the port number is set to zero).
如果要约包含电路交换音频或视频流,则应答者首先确定其是否能够在电路交换网络上接受和使用此类流。如果应答者不支持或不愿意在会话中使用电路交换媒体,则根据[RFC3264]第6节,应答者必须构造一个应答,其中该媒体流的端口号设置为零。如果应答者愿意在会话中使用电路交换媒体,则必须忽略接收到的端口号(除非端口号设置为零)。
If the offer included a "-" as the payload type number, it indicates that the offerer is not willing or able to define any specific payload type. Most often, a "-" is expected to be used instead of the payload type when the endpoint is not aware of or not willing to define the codecs that will eventually be used on the circuit-switched bearer. The circuit-switched signaling protocols have their own means of negotiating or indicating the codecs; therefore, an answerer SHOULD accept such offers and SHOULD set the payload type to "-" in the answer.
如果报价包含“-”作为有效载荷类型编号,则表明报价人不愿意或不能定义任何特定的有效载荷类型。通常,当端点不知道或不愿意定义最终将在电路交换承载上使用的编解码器时,期望使用“-”来代替有效负载类型。电路交换信令协议有其自己的协商或指示编解码器的方法;因此,回答者应该接受这样的提议,并在回答中将有效负载类型设置为“-”。
If the answerer explicitly wants to specify a codec for the circuit-switched media, it MAY set the respective payload numbers in the <fmt> subfield in the answer. This behavior, however, is NOT RECOMMENDED.
如果应答者明确希望为电路交换媒体指定编解码器,则可以在应答中的<fmt>子字段中设置相应的有效载荷编号。但是,不推荐这种行为。
When receiving the offer, the answerer MUST determine whether it becomes the active or passive party.
在收到要约时,应答者必须确定自己是主动方还是被动方。
If the SDP in the offer indicates that the offerer is only able to become the active party, the answerer needs to determine whether it is able to become the passive party. If this is not possible, e.g., due to the answerer not knowing its international E.164 number, the answerer MUST reject the circuit-switched media by setting the port number to zero on the answer. If the answerer is aware of its international E.164 number, it MUST include the "setup" attribute in the answer and set it to value "passive" or "holdconn". The answerer MUST also include its E.164 number in the "c=" line.
如果要约中的SDP表明要约人只能成为主动方,则应答人需要确定其是否能够成为被动方。如果这是不可能的,例如,由于应答者不知道其国际e.164号码,应答者必须通过在应答上将端口号设置为零来拒绝电路交换媒体。如果回答者知道其国际E.164号码,则必须在回答中包含“setup”属性,并将其设置为值“passive”或“holdconn”。回答者还必须在“c=”行中包含其E.164编号。
If the SDP in the offer indicates that the offerer is only able to become the passive party, the answerer MUST verify that the offerer's E.164 number is included in the "c=" line of the offer. If the number is included, the answerer MUST include the "setup" attribute in the answer and set it to value "active" or "holdconn". If the number is not included, the recipient of the offer is not willing to establish a connection the E.164 based on a priori knowledge of cost, or other reasons, call establishment is not possible, and the answerer MUST reject the circuit-switched media by setting the port number to zero in the answer.
如果报价中的SDP表明报价人只能成为被动方,则应答人必须核实报价人的E.164编号是否包含在报价的“c=”行中。如果包含数字,应答者必须在回答中包含“设置”属性,并将其设置为值“活动”或“保持连接”。如果号码未包括在内,则报价的接收者不愿意基于成本的先验知识或其他原因建立与E.164的连接,呼叫建立是不可能的,应答者必须通过在应答中将端口号设置为零来拒绝电路交换媒体。
If the SDP in the offer indicates that the offerer is able to become either the active or passive party, the answerer determines which role it will take. If the offer includes an international E.164 number in the "c=" line, the answerer SHOULD become the active party. If the answerer does not become the active party and if the answerer is aware of its E.164 number, it MUST become the passive party. If the answerer does not become the active or the passive party, it MUST reject the circuit-switched media by setting the port number to zero in the answer.
如果要约中的SDP表明要约人能够成为主动方或被动方,则应答人将决定其将扮演的角色。如果报价在“c=”行中包含国际E.164号码,则应答者应成为主动方。如果回答者没有成为主动方,并且如果回答者知道其E.164号码,则必须成为被动方。如果应答者不是主动方或被动方,则必须通过将应答中的端口号设置为零来拒绝电路交换媒体。
For each media description where the offer includes a "cs-correlation" attribute, the answerer MUST select from the offer those correlation mechanisms it supports and include in the answer one "a=cs-correlation" attribute line containing those mechanisms it is willing to use. The answerer MUST only add one "cs-correlation" attribute in those media descriptions where also the offer included a "cs-correlation" attribute. The answerer MUST NOT add any mechanisms that were not included in the offer. If there is more than one "cs-correlation" attribute per media description in the offer, the answerer MUST discard all but the first for any media description. Also, the answerer MUST discard all unknown "cs-correlation" attribute values.
对于报价包含“cs相关性”属性的每个媒体描述,应答者必须从报价中选择其支持的相关性机制,并在回答中包含一个包含其愿意使用的机制的“a=cs相关性”属性行。回答者必须仅在这些媒体描述中添加一个“cs相关性”属性,其中报价还包括一个“cs相关性”属性。回答者不得添加报价中未包含的任何机制。如果报价中每个媒体描述有多个“cs相关性”属性,应答者必须放弃所有属性,但任何媒体描述都必须放弃第一个属性。此外,应答者必须丢弃所有未知的“cs相关性”属性值。
If the answerer becomes the active party, it MUST add a value to any of the possible subfields.
如果回答者成为主动方,则必须为任何可能的子字段添加值。
If the answerer becomes the passive party, it MUST NOT add any values to the subfields in the "cs-correlation" attribute.
如果应答者成为被动方,则不得向“cs相关性”属性中的子字段添加任何值。
After generating and sending the answer, if the answerer became the active party, it
生成并发送答案后,如果回答者成为主动方,则
o MUST extract the E.164 number from the "c=" line of the offer and MUST establish a circuit-switched bearer to that address.
o 必须从报价的“c=”行中提取E.164号码,并且必须建立一个到该地址的电路交换承载。
o if the SDP answer contained a value for the "callerid" subfield, MUST set the Calling Party Number Information Element to that number.
o 如果SDP应答包含“callerid”子字段的值,则必须将主叫方号码信息元素设置为该号码。
o if the SDP answer contained a value for the "uuie" subfield, MUST send the User-User Information Element according to the rules defined for the circuit-switched technology used and set the value of the Information Element to that received in the SDP offer.
o 如果SDP应答包含“uuie”子字段的值,则必须根据为所用电路交换技术定义的规则发送用户信息元素,并将信息元素的值设置为SDP报价中接收到的值。
o if the SDP answer contained a value for the "dtmf" subfield, MUST send those DTMF digits according to the circuit-switched technology used.
o 如果SDP应答包含“dtmf”子字段的值,则必须根据使用的电路交换技术发送这些dtmf数字。
If, on the other hand, the answerer became the passive party, it
另一方面,如果回答者成为被动方,那么
o MUST be prepared to receive a circuit-switched bearer,
o 必须准备好接收电路交换承载,
o if the offer contained a value for the "callerid" subfield, MUST compare that value to the Calling Party Number Information Element of the circuit-switched bearer. If the received Calling Party Number Information Element matches the value of the "callerid" subfield, the call SHOULD be treated as correlated to the ongoing session.
o 如果要约包含“callerid”子字段的值,则必须将该值与电路交换承载的主叫方号码信息元素进行比较。如果收到的主叫方号码信息元素与“callerid”子字段的值匹配,则应将呼叫视为与正在进行的会话相关。
o if the offer contained a value for the "dtmf" subfield, MUST be prepared to receive and collect DTMF digits once the circuit-switched bearer is set up. The answerer MUST compare the received DTMF digits to the value of the "dtmf" subfield. If the received DTMF digits match the value of the "dtmf" subfield in the "cs-correlation" attribute, the call SHOULD be treated as correlated to the ongoing session.
o 如果要约包含“dtmf”子字段的值,则必须准备在设置电路交换承载后接收和收集dtmf数字。应答者必须将接收到的DTMF数字与“DTMF”子字段的值进行比较。如果接收到的DTMF数字与“cs correlation”属性中的“DTMF”子字段的值匹配,则应将呼叫视为与正在进行的会话相关。
o if the offer contained a value for the "uuie" subfield, MUST be prepared to receive a User-User Information Element once the circuit-switched bearer is set up. The answerer MUST compare the received UUIE to the value of the "uuie" subfield. If the value of the received UUIE matches the value of the "uuie" subfield, the call SHOULD be treated as correlated to the ongoing session.
o 如果要约包含“uuie”子字段的值,则必须准备好在设置电路交换承载后接收用户信息元素。应答者必须将收到的UUIE与“UUIE”子字段的值进行比较。如果接收到的UUIE的值与“UUIE”子字段的值匹配,则应将呼叫视为与正在进行的会话相关。
o if the offer contained an "external" subfield, MUST be prepared to receive a circuit-switched call and use the external means (typically, the human user) for accepting or rejecting the call.
o 如果报价包含“外部”子字段,则必须准备好接收电路交换呼叫,并使用外部手段(通常为人工用户)接受或拒绝呼叫。
If the answerer becomes the active party, generates an SDP answer, and then it finds out that the circuit-switched call cannot be established, then the answerer MUST create a new SDP offer where the circuit-switched stream is removed from the session (actually, by setting the corresponding port in the "m=" line to zero) and send it to its counterpart. This is to synchronize both parties (and potential intermediaries) on the state of the session.
如果应答者成为活动方,生成SDP应答,然后发现无法建立电路交换呼叫,则应答者必须创建一个新的SDP提供,其中电路交换流从会话中删除(实际上,通过将“m=”行中的相应端口设置为零)并将其发送给对应方。这是为了使双方(以及潜在的中介机构)同步会话状态。
When receiving the answer, if the SDP does not contain an "a=cs-correlation" attribute line, the offerer should take that as an indication that the other party does not support or is not willing to use the procedures defined in the document for this session and MUST revert to normal processing of SDP.
在收到答复时,如果SDP不包含“a=cs相关性”属性行,报价人应将其视为另一方不支持或不愿意使用本次会议文件中定义的程序,并且必须恢复SDP的正常处理。
When receiving the answer, the offerer MUST first determine whether it becomes the active or passive party, as described in Section 5.3.1.
如第5.3.1节所述,在收到答复时,报价人必须首先确定自己是主动方还是被动方。
If the offerer becomes the active party, it
如果要约人成为主动方,则
o MUST extract the E.164 number from the "c=" line and MUST establish a circuit-switched bearer to that address.
o 必须从“c=”行中提取E.164号码,并且必须为该地址建立电路交换承载。
o if the SDP answer contained a value for the "uuie" subfield, MUST send the User-User Information Element according to the rules defined for the circuit-switched technology used and set the value of the Information Element to that received in the SDP answer.
o 如果SDP应答包含“uuie”子字段的值,则必须根据为所用电路交换技术定义的规则发送用户信息元素,并将信息元素的值设置为SDP应答中接收到的值。
o if the SDP answer contained a value for the "dtmf" subfield, MUST send those DTMF digits according to the circuit-switched technology used.
o 如果SDP应答包含“dtmf”子字段的值,则必须根据使用的电路交换技术发送这些dtmf数字。
If the offerer becomes the passive party:
如果要约人成为被动方:
o It MUST be prepared to receive a circuit-switched bearer.
o 它必须准备好接收电路交换承载。
o Note that if delivery of the answer is delayed for some reason, the circuit-switched call attempt may arrive at the offerer before the answer has been processed. In this case, since the correlation mechanisms are negotiated as part of the offer/answer exchange, the answerer cannot know whether or not the incoming
o 请注意,如果由于某种原因延迟了应答的发送,则电路切换呼叫尝试可能会在应答被处理之前到达发盘方。在这种情况下,由于相关机制是作为要约/应答交换的一部分进行协商的,应答者无法知道传入消息是否存在
circuit-switched call attempt is correlated with the session being negotiated; thus, the offerer SHOULD answer the circuit-switched call attempt only after it has received and processed the answer.
电路交换呼叫尝试与正在协商的会话相关联;因此,发盘方应仅在收到并处理应答后才应答电路切换呼叫尝试。
o If the answer contained a value for the "dtmf" subfield, the offerer MUST be prepared to receive and collect DTMF digits once the circuit-switched bearer is set up. The offerer SHOULD compare the received DTMF digits to the value of the "dtmf" subfield. If the received DTMF digits match the value of the "dtmf" subfield in the "cs-correlation" attribute, the call SHOULD be treated as correlated to the ongoing session.
o 如果应答包含“dtmf”子字段的值,则一旦设置了电路交换承载,发盘方必须准备好接收和收集dtmf数字。报价人应将收到的DTMF数字与“DTMF”子字段的值进行比较。如果接收到的DTMF数字与“cs correlation”属性中的“DTMF”子字段的值匹配,则应将呼叫视为与正在进行的会话相关。
o If the answer contained a value for the "uuie" subfield, the offerer MUST be prepared to receive a User-User Information Element once the circuit-switched bearer is set up. The offerer SHOULD compare the received UUIE to the value of the "uuie" subfield. If the value of the received UUIE matches the value of the "uuie" subfield, the call SHOULD be treated as correlated to the ongoing session.
o 如果答案包含“uuie”子字段的值,则一旦电路交换承载被设置,报价人必须准备好接收用户信息元素。报价人应将收到的UUIE与“UUIE”子字段的值进行比较。如果接收到的UUIE的值与“UUIE”子字段的值匹配,则应将呼叫视为与正在进行的会话相关。
o If the answer contained an "external" subfield, the offerer MUST be prepared to receive a circuit-switched call and use the external means (typically, the human user) for accepting or rejecting the call.
o 如果应答包含“外部”子字段,则报价人必须准备好接收电路交换呼叫,并使用外部手段(通常是人类用户)来接受或拒绝呼叫。
According the "An Offer/Answer Model with the Session Description Protocol (SDP)" [RFC3264], the offerer needs to be ready to receive media as soon as the offer has been sent. It may happen that the answerer, if it became the active party, will initiate a circuit-switched bearer setup that will arrive at the offerer before the answer has arrived. However, the offerer needs to receive the answer and examine the information about the correlation mechanisms in order to successfully perform correlation of the circuit-switched call to the session. Therefore, if the offerer receives an incoming circuit-switched call, it MUST NOT accept the call before the answer has been received. If no answer is received during an implementation-specific time, the offerer MUST either modify the session according to [RFC3264] or terminate it according to the session signaling procedures in question (for terminating a SIP session, see Section 15 of [RFC3261]).
根据“具有会话描述协议(SDP)的报价/应答模型”[RFC3264],报价人需要在报价发送后立即准备好接收媒体。如果应答方成为主动方,则可能会启动电路交换承载设置,该设置将在应答到达之前到达报价方。然而,为了成功地执行电路交换呼叫与会话的相关,发盘方需要接收应答并检查关于相关机制的信息。因此,如果发盘方收到传入电路交换呼叫,则在收到应答之前不得接受该呼叫。如果在特定于实施的时间内未收到答复,则报价人必须根据[RFC3264]修改会话或根据相关会话信令程序终止会话(关于终止SIP会话,请参阅[RFC3261]第15节)。
If, at a later time, one of the parties wishes to modify the session, e.g., by adding a new media stream or by changing properties used on an existing stream, it may do so via the mechanisms defined in "An Offer/Answer Model with the Session Description Protocol (SDP)" [RFC3264].
如果其中一方希望在稍后修改会话,例如通过添加新媒体流或通过更改现有流上使用的属性,则其可以通过“具有会话描述协议(SDP)的提供/应答模型”中定义的机制来修改会话[rfc326]。
If there is an existing circuit-switched bearer between the endpoints and the offerer wants to reuse that, the offerer MUST set the value of the "connection" attribute to "existing".
如果端点之间存在现有的电路交换承载,并且报价人希望重用该承载,则报价人必须将“connection”属性的值设置为“existing”。
If either party removes the circuit-switched media from the session (by setting the port number to zero), it MUST terminate the circuit-switched bearer using whatever mechanism is appropriate for the technology in question.
如果任何一方从会话中移除电路交换媒体(通过将端口号设置为零),则必须使用适用于所述技术的任何机制终止电路交换承载。
If either party wishes to drop and reestablish an existing call, that party MUST first remove the circuit-switched media from the session by setting the port number to zero and then use another offer/answer exchange where it MUST set the "connection" attribute to "new". If the media types are different (for example, a different codec will be used for the circuit-switched bearer), the media descriptions for terminating the existing bearer and the new bearer can be in the same offer.
如果任何一方希望放弃并重新建立现有呼叫,则该方必须首先通过将端口号设置为零从会话中删除电路交换媒体,然后使用另一个提供/应答交换,其中必须将“连接”属性设置为“新”。如果媒体类型不同(例如,将对电路交换承载使用不同的编解码器),则用于终止现有承载和新承载的媒体描述可以在同一要约中。
If either party would like to remove existing RTP-based media from the session and replace that with a circuit-switched bearer, it would create a new offer to add the circuit-switched media as described in Section 5.6.1 above, replacing the RTP-based media description with the circuit-switched media description, as specified in RFC 3264 [RFC3264].
如果任何一方希望从会话中删除现有的基于RTP的媒体,并用电路交换承载来替换,它将创建一个新的报价,以添加上述第5.6.1节中所述的电路交换媒体,用RFC 3264[RFC3264]中规定的电路交换媒体描述替换基于RTP的媒体描述。
Once the offer/answer exchange is done, but the circuit-switched bearer is not yet established, there may be a period of time when no media is available. Also, it may happen that correlating the circuit-switched call fails for reasons discussed in Section 5.3.3. In this case, even if the offer/answer exchange was successful, endpoints are not able to receive or send media. It is up to the implementation to decide the behavior in this case; if nothing else is done, the user most likely hangs up after a while if there is no other media in the session. Note that this may also happen when switching from one RTP media to another RTP media (for example, when firewall blocks the new media stream).
一旦提供/应答交换完成,但电路交换承载尚未建立,则可能有一段时间没有媒体可用。此外,由于第5.3.3节讨论的原因,可能会发生电路交换呼叫关联失败的情况。在这种情况下,即使提供/应答交换成功,端点也无法接收或发送媒体。在这种情况下,由实现来决定行为;如果不做任何其他操作,如果会话中没有其他媒体,用户很可能会在一段时间后挂断。请注意,当从一个RTP介质切换到另一个RTP介质时(例如,当防火墙阻止新媒体流时),也可能发生这种情况。
If either party would like to remove existing circuit-switched media from the session and replace that with RTP-based media, it would modify the media description as per the procedures defined in RFC 3264 [RFC3264]. The endpoint MUST then terminate the circuit-switched bearer using whatever mechanism is appropriate for the technology in question.
如果任何一方希望从会话中删除现有的电路交换介质,并用基于RTP的介质替换,则将按照RFC 3264[RFC3264]中定义的程序修改介质描述。然后,端点必须使用适用于所述技术的任何机制来终止电路交换承载。
The following is the formal Augmented Backus-Naur Form (ABNF) [RFC5234] syntax that supports the extensions defined in this
下面是正式的扩展的Backus-Naur-Form(ABNF)[RFC5234]语法,它支持本文档中定义的扩展
specification. The syntax is built above the SDP [RFC4566] and the tel URI [RFC3966] grammars. Implementations that are compliant with this specification MUST be compliant with this syntax.
规格语法构建在SDP[RFC4566]和tel URI[RFC3966]语法之上。符合此规范的实现必须符合此语法。
Figure 2 shows the formal syntax of the extensions defined in this memo.
图2显示了本备忘录中定义的扩展的正式语法。
; extension to the connection field originally specified ; in RFC 4566
; 对最初指定的连接字段的扩展;在RFC4566中
connection-field = [%x63 "=" nettype SP addrtype SP connection-address CRLF] ; CRLF defined in RFC 5234
connection-field = [%x63 "=" nettype SP addrtype SP connection-address CRLF] ; CRLF defined in RFC 5234
;nettype and addrtype are defined in RFC 4566
;nettype和addrtype在RFC 4566中定义
connection-address =/ global-number-digits / "-" ; global-number-digits specified in RFC 3966
connection-address =/ global-number-digits / "-" ; global-number-digits specified in RFC 3966
;subrules for correlation attribute attribute =/ cs-correlation-attr ; attribute defined in RFC 4566 cs-correlation-attr = "cs-correlation:" corr-mechanisms corr-mechanisms = corr-mech *(SP corr-mech) corr-mech = caller-id-mech / uuie-mech / dtmf-mech / external-mech / ext-mech caller-id-mech = "callerid" [":" caller-id-value] caller-id-value = "+" 1*15DIGIT ; DIGIT defined in RFC 5234 uuie-mech = "uuie" [":" uuie-value] uuie-value = 1*65(HEXDIG HEXDIG) ;This represents up to 130 HEXDIG ; (65 octets) ;HEXDIG defined in RFC 5234 ;HEXDIG defined as 0-9, A-F dtmf-mech = "dtmf" [":" dtmf-value] dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A ) ;0-9, A-D, '#' and '*' external-mech = "external" ext-mech = ext-mech-name [":" ext-mech-value] ext-mech-name = token ext-mech-value = token ; token is specified in RFC 4566
;subrules for correlation attribute attribute =/ cs-correlation-attr ; attribute defined in RFC 4566 cs-correlation-attr = "cs-correlation:" corr-mechanisms corr-mechanisms = corr-mech *(SP corr-mech) corr-mech = caller-id-mech / uuie-mech / dtmf-mech / external-mech / ext-mech caller-id-mech = "callerid" [":" caller-id-value] caller-id-value = "+" 1*15DIGIT ; DIGIT defined in RFC 5234 uuie-mech = "uuie" [":" uuie-value] uuie-value = 1*65(HEXDIG HEXDIG) ;This represents up to 130 HEXDIG ; (65 octets) ;HEXDIG defined in RFC 5234 ;HEXDIG defined as 0-9, A-F dtmf-mech = "dtmf" [":" dtmf-value] dtmf-value = 1*32(DIGIT / %x41-44 / %x23 / %x2A ) ;0-9, A-D, '#' and '*' external-mech = "external" ext-mech = ext-mech-name [":" ext-mech-value] ext-mech-name = token ext-mech-value = token ; token is specified in RFC 4566
Figure 2: Syntax of the SDP Extensions
图2:SDP扩展的语法
In the examples below, where an SDP line is too long to be displayed as a single line, a breaking character "\" indicates continuation in the following line. Note that this character is included for display purposes only. Implementations MUST write a single line without breaks.
在下面的示例中,如果SDP行太长,无法显示为单行,则换行符“\”表示下一行的继续。请注意,此字符仅用于显示目的。实现必须写一行没有中断。
Endpoint A Endpoint B | | | (1) SDP offer (PSTN audio) | |--------------------------------->| | | | (2) SDP answer (PSTN audio) | |<---------------------------------| | | | PSTN call setup | |<---------------------------------| | | |<==== media over PSTN bearer ====>| | |
Endpoint A Endpoint B | | | (1) SDP offer (PSTN audio) | |--------------------------------->| | | | (2) SDP answer (PSTN audio) | |<---------------------------------| | | | PSTN call setup | |<---------------------------------| | | |<==== media over PSTN bearer ====>| | |
Figure 3: Basic Flow
图3:基本流程
Figure 3 shows a basic example that describes a single audio media stream over a circuit-switched bearer. Endpoint A generates an SDP offer, which is shown in Figure 4. The offer describes a PSTN circuit-switched bearer in the "m=" and "c=" line where it also indicates its international E.164 number format. Additionally, Endpoint A expresses that it can initiate the circuit-switched bearer or be the recipient of it in the "a=setup" attribute line. The SDP offer also includes correlation identifiers that this endpoint will insert in the Calling Party Number and/or User-User Information Element of the PSTN call setup if eventually this endpoint initiates the PSTN call. Endpoint A also includes "external" as one correlation mechanism, indicating that it can use the human user to perform correlation in case other mechanisms fail.
图3显示了一个基本示例,该示例描述了通过电路交换承载的单个音频媒体流。端点A生成一个SDP提供,如图4所示。本报价以“m=”和“c=”行描述PSTN电路交换承载,其中还说明了其国际E.164号码格式。此外,端点A表示它可以在“A=设置”属性行中启动电路交换承载或作为其接收者。SDP服务还包括相关标识符,如果该端点最终发起PSTN呼叫,则该端点将在PSTN呼叫设置的主叫方号码和/或用户信息元素中插入相关标识符。端点A还包括“外部”作为一种关联机制,表示在其他机制失败的情况下,它可以使用人类用户执行关联。
v=0 o=alice 2890844526 2890842807 IN IP4 192.0.2.5 s= t=0 0 m=audio 9 PSTN - c=PSTN E164 +441134960123 a=setup:actpass a=connection:new a=cs-correlation:callerid:+441134960123 \ uuie:56A390F3D2B7310023 external
v=0 o=alice 2890844526 2890842807 IN IP4 192.0.2.5 s= t=0 0 m=audio 9 PSTN - c=PSTN E164 +441134960123 a=setup:actpass a=connection:new a=cs-correlation:callerid:+441134960123 \ uuie:56A390F3D2B7310023 external
Figure 4: SDP Offer (1)
图4:SDP报价(1)
Endpoint B generates an SDP answer (Figure 5), describing a PSTN audio media on port 9 without information on the media subtype on the "m=" line. The "c=" line contains B's international E.164 number. In the "a=setup" line, Endpoint B indicates that it is willing to become the active endpoint when establishing the PSTN call, and it also includes the "a=cs-correlation" attribute line containing the values it is going to include in the Calling Party Number and User-User Information Element of the PSTN call establishment. Endpoint B is also able to perform correlation by external means, in case other correlation mechanisms fail.
端点B生成一个SDP应答(图5),描述端口9上的PSTN音频媒体,而不包含“m=”行上媒体子类型的信息。“c=”行包含B的国际E.164编号。在“a=setup”行中,端点B表示它愿意在建立PSTN呼叫时成为活动端点,并且它还包括“a=cs correlation”属性行,该属性行包含它将要包括在PSTN呼叫建立的主叫方号码和用户信息元素中的值。端点B还能够通过外部方式执行关联,以防其他关联机制失败。
v=0 o=- 2890973824 2890987289 IN IP4 192.0.2.7 s= t=0 0 m=audio 9 PSTN - c=PSTN E164 +441134960124 a=setup:active a=connection:new a=cs-correlation:callerid:+441134960124 \ uuie:74B9027A869D7966A2 external
v=0 o=- 2890973824 2890987289 IN IP4 192.0.2.7 s= t=0 0 m=audio 9 PSTN - c=PSTN E164 +441134960124 a=setup:active a=connection:new a=cs-correlation:callerid:+441134960124 \ uuie:74B9027A869D7966A2 external
Figure 5: SDP Answer with Circuit-Switched Media
图5:带电路交换介质的SDP应答
When Endpoint A receives the answer, it examines that B is willing to become the active endpoint when setting up the PSTN call. Endpoint A temporarily stores B's E.164 number and the User-User IE value of the "cs-correlation" attribute and waits for a circuit-switched bearer establishment.
当端点A收到应答时,它检查B是否愿意在设置PSTN呼叫时成为活动端点。端点A临时存储B的E.164号和“cs相关性”属性的用户IE值,并等待电路交换承载建立。
Endpoint B initiates a circuit-switched bearer using whatever circuit-switched technology is available for it. The Called Party Number is set to A's number, and the Calling Party Number is set to B's own number. Endpoint B also sets the User-User Information Element value to the one contained in the SDP answer.
端点B使用任何可用的电路交换技术来启动电路交换承载。被叫方号码设置为A的号码,主叫方号码设置为B自己的号码。端点B还将用户信息元素值设置为SDP应答中包含的值。
When Endpoint A receives the circuit-switched bearer establishment, it examines the UUIE and the Calling Party Number and, by comparing those received during the offer/answer exchange, determines that the call is related to the SDP session.
当端点A接收到电路交换承载建立时,它检查UUIE和主叫方号码,并且通过比较在提供/应答交换期间接收到的号码,确定呼叫与SDP会话相关。
It may also be that neither the UUIE nor the Calling Party Number is received by the called party, or the format of the Calling Party Number is changed by the PSTN. Implementations may still accept such call establishment attempts as being related to the session that was established in the IP network. As it cannot be guaranteed that the values used for correlation are always passed intact through the network, they should be treated as additional hints that the circuit-switched bearer is actually related to the session.
也可能是被叫方既没有接收到UUIE也没有接收到主叫方号码,或者PSTN改变了主叫方号码的格式。实现仍然可以接受与在IP网络中建立的会话相关的呼叫建立尝试。由于不能保证用于相关的值始终完整地通过网络传递,因此应将它们视为电路交换承载实际上与会话相关的附加提示。
Endpoint A Endpoint B | | | (1) SDP offer (PSTN audio and video) | |------------------------------------------->| | | | (2) SDP answer (PSTN audio) | |<-------------------------------------------| | | | PSTN call setup | |<-------------------------------------------| | | |<======== media over PSTN bearer ==========>| | |
Endpoint A Endpoint B | | | (1) SDP offer (PSTN audio and video) | |------------------------------------------->| | | | (2) SDP answer (PSTN audio) | |<-------------------------------------------| | | | PSTN call setup | |<-------------------------------------------| | | |<======== media over PSTN bearer ==========>| | |
Figure 6: Circuit-Switched Audio and Video Streams
图6:电路交换音频和视频流
Figure 6 shows an example of negotiating audio and video media streams over circuit-switched bearers.
图6显示了通过电路交换承载协商音频和视频媒体流的示例。
v=0 o=alice 2890844526 2890842807 IN IP4 192.0.2.5 s= t=0 0 a=setup:actpass a=connection:new c=PSTN E164 +441134960123 m=audio 9 PSTN - a=cs-correlation:dtmf:1234536 m=video 9 PSTN 34 a=rtpmap:34 H263/90000 a=cs-correlation:callerid:+441134960123
v=0 o=alice 2890844526 2890842807 IN IP4 192.0.2.5 s= t=0 0 a=setup:actpass a=connection:new c=PSTN E164 +441134960123 m=audio 9 PSTN - a=cs-correlation:dtmf:1234536 m=video 9 PSTN 34 a=rtpmap:34 H263/90000 a=cs-correlation:callerid:+441134960123
Figure 7: SDP Offer with Circuit-Switched Audio and Video (1)
图7:带电路切换音频和视频的SDP产品(1)
Upon receiving the SDP offer described in Figure 7, Endpoint B rejects the video stream as the device does not currently support video, but it accepts the circuit-switched audio stream. As Endpoint A indicated that it is able to become either the active or passive party, Endpoint B gets to select which role it would like to take. Since the offer contained the international E.164 number of Endpoint A, Endpoint B decides that it becomes the active party in setting up the circuit-switched bearer. B includes a new value in the "dtmf" subfield of the "cs-correlation" attribute, which it is going to send as DTMF tones once the bearer setup is complete. The answer is described in Figure 8.
当接收到图7中描述的SDP提供时,端点B拒绝视频流,因为设备当前不支持视频,但它接受电路交换音频流。当端点A表示它可以成为主动方或被动方时,端点B可以选择它想要扮演的角色。由于要约包含端点A的国际E.164编号,端点B决定其成为设置电路交换承载的主动方。B在“cs correlation”属性的“dtmf”子字段中包含一个新值,一旦承载设置完成,它将作为dtmf音调发送。答案如图8所示。
v=0 o=- 2890973824 2890987289 IN IP4 192.0.2.7 s= t=0 0 a=setup:active a=connection:new c=PSTN E164 +441134960124 m=audio 9 PSTN - a=cs-correlation:dtmf:654321 m=video 0 PSTN 34 a=cs-correlation:callerid:+441134960124
v=0 o=- 2890973824 2890987289 IN IP4 192.0.2.7 s= t=0 0 a=setup:active a=connection:new c=PSTN E164 +441134960124 m=audio 9 PSTN - a=cs-correlation:dtmf:654321 m=video 0 PSTN 34 a=cs-correlation:callerid:+441134960124
Figure 8: SDP Answer with Circuit-Switched Audio and Video (2)
图8:带电路切换音频和视频的SDP应答(2)
This document provides an extension to RFC 4566 [RFC4566] and RFC 3264 [RFC3264]. As such, the security considerations of those documents apply.
本文档提供了对RFC 4566[RFC4566]和RFC 3264[RFC3264]的扩展。因此,适用这些文件的安全考虑。
This memo provides mechanisms to agree on a correlation identifier or identifiers that are used to evaluate whether an incoming circuit-switched bearer is related to an ongoing session in the IP domain. If an attacker replicates the correlation identifier and establishes a call within the time window the receiving endpoint is expecting a call, the attacker may be able to hijack the circuit-switched bearer. These types of attacks are not specific to the mechanisms presented in this memo. For example, Caller ID spoofing is a well-known attack in the PSTN. Users are advised to use the same caution before revealing sensitive information as they would on any other phone call. Furthermore, users are advised that mechanisms that may be in use in the IP domain for securing the media, like Secure RTP (SRTP) [RFC3711], are not available in the CS domain.
本备忘录提供了一种或多种机制,以商定用于评估传入电路交换承载是否与IP域中正在进行的会话相关的相关标识符。如果攻击者复制相关标识符并在接收端点预期呼叫的时间窗口内建立呼叫,则攻击者可能会劫持电路交换承载。这些类型的攻击并不特定于本备忘录中介绍的机制。例如,来电显示欺骗是PSTN中众所周知的攻击。建议用户在透露敏感信息之前,像在任何其他电话中一样谨慎行事。此外,建议用户在IP域中用于保护媒体安全的机制,例如安全RTP(SRTP)[RFC3711],在CS域中不可用。
For the purposes of establishing a circuit-switched bearer, the active endpoint needs to know the passive endpoint's phone number. Phone numbers are sensitive information, and some people may choose not to reveal their phone numbers when calling using supplementary services like Calling Line Identification Restriction (CLIR) in GSM. Implementations should take the caller's preferences regarding calling line identification into account if possible, by restricting the inclusion of the phone number in the SDP "c=" line if the caller has chosen to use CLIR. If this is not possible, implementations may present a prompt informing the user that their phone number may be transmitted to the other party.
为了建立电路交换承载,主动端点需要知道被动端点的电话号码。电话号码是敏感信息,有些人在使用GSM中的呼叫线路识别限制(CLIR)等补充服务拨打电话时可能会选择不透露自己的电话号码。如果可能,实施时应考虑呼叫者关于呼叫线路标识的偏好,如果呼叫者选择使用CLIR,则应限制在SDP“c=”线路中包含电话号码。如果这是不可能的,则实现可以呈现提示,通知用户他们的电话号码可能被发送给另一方。
As with IP addresses, if there is a desire to protect the SDP containing phone numbers carried in SIP, implementers are advised to follow the security mechanisms defined in [RFC3261].
与IP地址一样,如果希望保护SIP中包含电话号码的SDP,建议实施者遵循[RFC3261]中定义的安全机制。
It is possible that an attacker creates a circuit-switched session whereby the attacked endpoint should dial a circuit-switched number, perhaps even a premium-rate telephone number. To mitigate the consequences of this attack, endpoints MUST authenticate and trust remote endpoints users who try to remain passive in the circuit-switched connection establishment. It is RECOMMENDED that endpoints have local policies precluding the active establishment of circuit-switched connections to certain numbers (e.g., international, premium, and long distance). Additionally, it is strongly RECOMMENDED that the end user is asked for consent prior to the endpoint initiating a circuit-switched connection.
攻击者可能会创建一个电路交换会话,从而使受攻击的端点拨打一个电路交换号码,甚至可能是一个高级费率电话号码。为了减轻此攻击的后果,端点必须验证和信任试图在电路交换连接建立中保持被动的远程端点用户。建议端点具有本地政策,禁止主动建立到特定数量(例如,国际、高级和长途)的电路交换连接。此外,强烈建议在端点启动电路交换连接之前征求最终用户的同意。
IANA has registered a number of SDP tokens according to the following data.
IANA已根据以下数据注册了大量SDP令牌。
Contact: Miguel Garcia <miguel.a.garcia@ericsson.com>
Contact: Miguel Garcia <miguel.a.garcia@ericsson.com>
Attribute name: cs-correlation
属性名称:cs相关性
Long-form attribute name: PSTN Correlation Identifier
长格式属性名称:PSTN相关标识符
Type of attribute: media level only
属性类型:仅媒体级别
Subject to charset: No
以字符集为准:否
Description: This attribute provides the Correlation Identifier used in PSTN signaling
描述:此属性提供PSTN信令中使用的相关标识符
Appropriate values: see Section 5.2.3.1
适当值:见第5.2.3.1节
Specification: RFC 7195
规格:RFC 7195
The IANA has created a subregistry for the "cs-correlation" attribute under the "Session Description Protocol (SDP) Parameters" registry. The initial values for the subregistry are presented in the following; IANA has registered these values accordingly:
IANA已在“会话描述协议(SDP)参数”注册表下为“cs相关性”属性创建了一个子区域。次区域的初始值如下所示:;IANA已相应地登记了这些值:
Value of "cs-correlation" attribute Reference Description ----------------------------------- --------- ------------------- callerid RFC 7195 Caller ID uuie RFC 7195 User-User Information Element dtmf RFC 7195 Dual-Tone Multi-Frequency external RFC 7195 External
Value of "cs-correlation" attribute Reference Description ----------------------------------- --------- ------------------- callerid RFC 7195 Caller ID uuie RFC 7195 User-User Information Element dtmf RFC 7195 Dual-Tone Multi-Frequency external RFC 7195 External
As per the terminology in [RFC5226], the registration policy for new values of the "cs-correlation" attribute is "Specification Required".
根据[RFC5226]中的术语,“cs相关性”属性的新值的注册策略为“需要规范”。
IANA has registered a new "nettype" in the "Session Description Protocol (SDP) Parameters" registry [IANA]. The registration data, according to RFC 4566 [RFC4566], is as follows.
IANA已在“会话描述协议(SDP)参数”注册表[IANA]中注册了一个新的“nettype”。根据RFC 4566[RFC4566],注册数据如下。
Type SDP Name Reference -------------- ------------------ --------- nettype PSTN RFC 7195
Type SDP Name Reference -------------- ------------------ --------- nettype PSTN RFC 7195
IANA has registered a new "addrtype" in the "Session Description Protocol (SDP) Parameters" registry [IANA]. The registration data, according to RFC 4566 [RFC4566], is as follows.
IANA已在“会话描述协议(SDP)参数”注册表[IANA]中注册了一个新的“addrtype”。根据RFC 4566[RFC4566],注册数据如下。
Type SDP Name Reference -------------- ------------------ --------- addrtype E164 RFC 7195
Type SDP Name Reference -------------- ------------------ --------- addrtype E164 RFC 7195
Note: This document defines the "E164" addrtype in the context of the "PSTN" nettype only. RFC 3108 [RFC3108] also defines address type "E.164". This definition is distinct from the one defined by this memo and shall not be used with <nettype> "PSTN".
注:本文档仅在“PSTN”网络类型的上下文中定义“E164”addrtype。RFC 3108[RFC3108]还定义了地址类型“E.164”。此定义与本备忘录定义的定义不同,不得与<nettype>“PSTN”一起使用。
IANA has registered a new "proto" in the "Session Description Protocol (SDP) Parameters" registry [IANA]. The registration data, according to RFC 4566 [RFC4566], is as follows.
IANA在“会话描述协议(SDP)参数”注册表[IANA]中注册了一个新的“proto”。根据RFC 4566[RFC4566],注册数据如下。
Type SDP Name Reference -------------- ------------------ --------- proto PSTN RFC 7195
Type SDP Name Reference -------------- ------------------ --------- proto PSTN RFC 7195
The related "fmt" namespace reuses the conventions and payload type number defined for RTP/AVP. In this document, the RTP audio and video media types, when applied to PSTN circuit-switched bearers, represent merely an audio or video codec in its native format directly on top of a single PSTN bearer.
相关的“fmt”命名空间重用为RTP/AVP定义的约定和负载类型号。在本文档中,RTP音频和视频媒体类型在应用于PSTN电路交换承载时,仅表示直接位于单个PSTN承载之上的本机格式的音频或视频编解码器。
In some cases, the endpoint is not able to determine the list of available codecs for circuit-switched media streams. In this case, in order to be syntactically compliant with SDP [RFC4566], the endpoint MUST include a single dash ("-") in the <fmt> subfield.
在某些情况下,端点无法确定电路交换媒体流的可用编解码器列表。在这种情况下,为了在语法上符合SDP[RFC4566],端点必须在<fmt>子字段中包含一个破折号(“-”)。
The authors want to thank Paul Kyzivat, Flemming Andreasen, Thomas Belling, John Elwell, Jari Mutikainen, Miikka Poikselka, Jonathan Rosenberg, Ingemar Johansson, Christer Holmberg, Alf Heidermark, Tom Taylor, Thomas Belling, Keith Drage, and Andrew Allen for providing their insight and comments on this document.
作者要感谢Paul Kyzivat、Flemming Andreasen、Thomas Belling、John Elwell、Jari Mutikainen、Miikka Poikselka、Jonathan Rosenberg、Ingemar Johansson、Christer Holmberg、Alf Heidermark、Tom Taylor、Thomas Belling、Keith Drage和Andrew Allen为本文件提供的见解和评论。
[ITU.Q931.1998] International Telecommunications Union, "Digital Subscriber Signalling System No. 1 - ISDN User-Network Interface Layer 3 Specification for Basic Call Control", ITU-T Recommendation Q931, May 1998.
[ITU.Q931.1998]国际电信联盟,“数字用户信号发送系统第1号——基本呼叫控制的ISDN用户网络接口第3层规范”,ITU-T建议Q931,1998年5月。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002.
[RFC3264]Rosenberg,J.和H.Schulzrinne,“具有会话描述协议(SDP)的提供/应答模型”,RFC 3264,2002年6月。
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966, December 2004.
[RFC3966]Schulzrinne,H.,“电话号码的电话URI”,RFC 3966,2004年12月。
[RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in the Session Description Protocol (SDP)", RFC 4145, September 2005.
[RFC4145]Yon,D.和G.Camarillo,“会话描述协议(SDP)中基于TCP的媒体传输”,RFC 41452005年9月。
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006.
[RFC4566]Handley,M.,Jacobson,V.,和C.Perkins,“SDP:会话描述协议”,RFC4566,2006年7月。
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, October 2006.
[RFC4648]Josefsson,S.,“Base16、Base32和Base64数据编码”,RFC4648,2006年10月。
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.
[RFC5226]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 5226,2008年5月。
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5234]Crocker,D.和P.Overell,“语法规范的扩充BNF:ABNF”,STD 68,RFC 5234,2008年1月。
[IANA] IANA, "Session Description Protocol (SDP) Parameters Registry", <http://www.iana.org/assignments/ sdp-parameters>.
[IANA]IANA,“会话描述协议(SDP)参数注册表”<http://www.iana.org/assignments/ sdp参数>。
[ITU.E164.2010] International Telecommunications Union, "The International Public Telecommunication Numbering Plan", ITU-T Recommendation E.164, 2010.
[ITU.E164.2010]国际电信联盟,“国际公共电信编号计划”,ITU-T建议E.164,2010年。
[ITU.Q23.1988] International Telecommunications Union, "Technical features of push-button telephone sets", ITU-T Technical Recommendation Q.23, 1988.
[ITU.Q23.1988]国际电信联盟,“按钮电话机的技术特征”,ITU-T技术建议Q.231988。
[RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the Session Description Protocol (SDP) for ATM Bearer Connections", RFC 3108, May 2001.
[RFC3108]Kumar,R.和M.Mostafa,“ATM承载连接使用会话描述协议(SDP)的约定”,RFC 3108,2001年5月。
[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.
[RFC3261]Rosenberg,J.,Schulzrinne,H.,Camarillo,G.,Johnston,A.,Peterson,J.,Sparks,R.,Handley,M.,和E.Schooler,“SIP:会话启动协议”,RFC 3261,2002年6月。
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.
[RFC3550]Schulzrinne,H.,Casner,S.,Frederick,R.,和V.Jacobson,“RTP:实时应用的传输协议”,STD 64,RFC 35502003年7月。
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video Conferences with Minimal Control", STD 65, RFC 3551, July 2003.
[RFC3551]Schulzrinne,H.和S.Casner,“具有最小控制的音频和视频会议的RTP配置文件”,STD 65,RFC 3551,2003年7月。
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, March 2004.
[RFC3711]Baugher,M.,McGrew,D.,Naslund,M.,Carrara,E.,和K.Norrman,“安全实时传输协议(SRTP)”,RFC 37112004年3月。
[RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo, "Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, April 2004.
[RFC3725]Rosenberg,J.,Peterson,J.,Schulzrinne,H.,和G.Camarillo,“会话启动协议(SIP)中第三方呼叫控制(3pcc)的当前最佳实践”,BCP 85,RFC 37252004年4月。
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message Session Relay Protocol (MSRP)", RFC 4975, September 2007.
[RFC4975]Campbell,B.,Mahy,R.,和C.Jennings,“消息会话中继协议(MSRP)”,RFC 49752007年9月。
[SIP-UUI] Johnston, A. and J. Rafferty, "A Mechanism for Transporting User to User Call Control Information in SIP", Work in Progress, April 2014.
[SIP-UUI]Johnston,A.和J.Rafferty,“SIP中传输用户对用户呼叫控制信息的机制”,正在进行的工作,2014年4月。
[TS.24.008] 3GPP, "Mobile radio interface Layer 3 specification; Core network protocols; Stage 3", 3GPP TS 24.008 3.20.0, December 2005.
[TS.24.008]3GPP,“移动无线电接口第3层规范;核心网络协议;第3阶段”,3GPP TS 24.008 3.20.02005年12月。
Authors' Addresses
作者地址
Miguel A. Garcia-Martin Ericsson Calle Via de los Poblados 13 Madrid, ES 28033 Spain
Miguel A.Garcia Martin Ericsson Calle Via de los Poblados 13西班牙东南部马德里28033
EMail: miguel.a.garcia@ericsson.com
EMail: miguel.a.garcia@ericsson.com
Simo Veikkolainen Nokia P.O. Box 226 NOKIA GROUP, FI 00045 Finland
Simo Veikkolainen诺基亚邮政信箱226诺基亚集团,FI 00045芬兰
Phone: +358 50 486 4463 EMail: simo.veikkolainen@nokia.com
Phone: +358 50 486 4463 EMail: simo.veikkolainen@nokia.com