Internet Engineering Task Force (IETF)                           V. Hilt
Request for Comments: 6796                      Bell Labs/Alcatel-Lucent
Category: Standards Track                                   G. Camarillo
ISSN: 2070-1721                                                 Ericsson
                                                            J. Rosenberg
                                                             jdrosen.net
                                                               D. Worley
                                                                 Ariadne
                                                           December 2012
        
Internet Engineering Task Force (IETF)                           V. Hilt
Request for Comments: 6796                      Bell Labs/Alcatel-Lucent
Category: Standards Track                                   G. Camarillo
ISSN: 2070-1721                                                 Ericsson
                                                            J. Rosenberg
                                                             jdrosen.net
                                                               D. Worley
                                                                 Ariadne
                                                           December 2012
        

A User Agent Profile Data Set for Media Policy

媒体策略的用户代理配置文件数据集

Abstract

摘要

This specification defines an XML document format to describe the media properties of Session Initiation Protocol (SIP) sessions. Examples for media properties are the codecs or media types used in the session. This document also defines an XML document format to describe policies that limit the media properties of SIP sessions.

本规范定义了一种XML文档格式,用于描述会话启动协议(SIP)会话的媒体属性。媒体属性的示例包括会话中使用的编解码器或媒体类型。本文档还定义了一种XML文档格式,用于描述限制SIP会话的媒体属性的策略。

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/rfc6796.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6796.

Copyright Notice

版权公告

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2012 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 ....................................................4
   2. Terminology .....................................................5
   3. Media Policy Data Set Format ....................................5
      3.1. Namespace and Media Type ...................................5
      3.2. Extensibility ..............................................5
      3.3. Attributes .................................................6
           3.3.1. The 'visibility' Attribute ..........................6
           3.3.2. The 'direction' Attributes ..........................6
           3.3.3. The 'q' Attribute ...................................6
           3.3.4. The 'media-type' Attribute ..........................7
           3.3.5. The 'label' Attribute ...............................7
           3.3.6. The 'enabled' Attribute .............................7
   4. Session Info Documents ..........................................7
      4.1. Mapping between SDP and Session Info Documents .............8
      4.2. The <session-info> Element ................................10
      4.3. The <streams> Element .....................................10
           4.3.1. The <stream> Element ...............................10
      4.4. The <media-intermediaries> Element ........................11
           4.4.1. The <fixed-intermediary> Element ...................12
           4.4.2. The <turn-intermediary> Element ....................13
           4.4.3. The <msrp-intermediary> Element ....................13
   5. Session Policy Documents .......................................14
      5.1. Merging Session Policies ..................................14
           5.1.1. Single Value Selection .............................14
           5.1.2. Merging Sets .......................................15
           5.1.3. Local Policy Server Selection ......................16
      5.2. The <session-policy> Element ..............................16
      5.3. The <media-types-allowed> Element .........................16
      5.4. The <media-types-excluded> Element ........................17
      5.5. The <codecs-allowed> Element ..............................17
      5.6. The <codecs-excluded> Element .............................18
        
   1. Introduction ....................................................4
   2. Terminology .....................................................5
   3. Media Policy Data Set Format ....................................5
      3.1. Namespace and Media Type ...................................5
      3.2. Extensibility ..............................................5
      3.3. Attributes .................................................6
           3.3.1. The 'visibility' Attribute ..........................6
           3.3.2. The 'direction' Attributes ..........................6
           3.3.3. The 'q' Attribute ...................................6
           3.3.4. The 'media-type' Attribute ..........................7
           3.3.5. The 'label' Attribute ...............................7
           3.3.6. The 'enabled' Attribute .............................7
   4. Session Info Documents ..........................................7
      4.1. Mapping between SDP and Session Info Documents .............8
      4.2. The <session-info> Element ................................10
      4.3. The <streams> Element .....................................10
           4.3.1. The <stream> Element ...............................10
      4.4. The <media-intermediaries> Element ........................11
           4.4.1. The <fixed-intermediary> Element ...................12
           4.4.2. The <turn-intermediary> Element ....................13
           4.4.3. The <msrp-intermediary> Element ....................13
   5. Session Policy Documents .......................................14
      5.1. Merging Session Policies ..................................14
           5.1.1. Single Value Selection .............................14
           5.1.2. Merging Sets .......................................15
           5.1.3. Local Policy Server Selection ......................16
      5.2. The <session-policy> Element ..............................16
      5.3. The <media-types-allowed> Element .........................16
      5.4. The <media-types-excluded> Element ........................17
      5.5. The <codecs-allowed> Element ..............................17
      5.6. The <codecs-excluded> Element .............................18
        
      5.7. The <local-ports> Element .................................18
   6. Common Media Policy Data Set Elements ..........................19
      6.1. The <media-type> Element ..................................19
      6.2. The <codec> Element .......................................19
           6.2.1. The <media-type-subtype> Element ...................20
           6.2.2. The <mime-parameter> Element .......................20
      6.3. The <max-bw> Element ......................................20
      6.4. The <max-session-bw> Element ..............................21
      6.5. The <max-stream-bw> Element ...............................21
      6.6. The <qos-dscp> Element ....................................22
      6.7. The <context> Element .....................................23
           6.7.1. The <policy-server-URI> Element ....................23
           6.7.2. The <contact> Element ..............................23
           6.7.3. The <info> Element .................................23
           6.7.4. The <request-URI> Element ..........................23
           6.7.5. The <token> Element ................................24
      6.8. Other Session Properties ..................................24
   7. Examples .......................................................25
      7.1. Session Policy Documents ..................................25
      7.2. Session Information Documents .............................25
           7.2.1. Example 1 ..........................................25
           7.2.2. Example 2 ..........................................26
   8. RELAX NG Definition ............................................29
   9. Security Considerations ........................................37
   10. IANA Considerations ...........................................38
      10.1. Media Type Registration ..................................38
      10.2. RELAX NG Schema Registration .............................39
      10.3. URN Sub-Namespace Registration ...........................39
   11. References ....................................................40
      11.1. Normative References .....................................40
      11.2. Informative References ...................................41
   Appendix A. Acknowledgements ......................................42
        
      5.7. The <local-ports> Element .................................18
   6. Common Media Policy Data Set Elements ..........................19
      6.1. The <media-type> Element ..................................19
      6.2. The <codec> Element .......................................19
           6.2.1. The <media-type-subtype> Element ...................20
           6.2.2. The <mime-parameter> Element .......................20
      6.3. The <max-bw> Element ......................................20
      6.4. The <max-session-bw> Element ..............................21
      6.5. The <max-stream-bw> Element ...............................21
      6.6. The <qos-dscp> Element ....................................22
      6.7. The <context> Element .....................................23
           6.7.1. The <policy-server-URI> Element ....................23
           6.7.2. The <contact> Element ..............................23
           6.7.3. The <info> Element .................................23
           6.7.4. The <request-URI> Element ..........................23
           6.7.5. The <token> Element ................................24
      6.8. Other Session Properties ..................................24
   7. Examples .......................................................25
      7.1. Session Policy Documents ..................................25
      7.2. Session Information Documents .............................25
           7.2.1. Example 1 ..........................................25
           7.2.2. Example 2 ..........................................26
   8. RELAX NG Definition ............................................29
   9. Security Considerations ........................................37
   10. IANA Considerations ...........................................38
      10.1. Media Type Registration ..................................38
      10.2. RELAX NG Schema Registration .............................39
      10.3. URN Sub-Namespace Registration ...........................39
   11. References ....................................................40
      11.1. Normative References .....................................40
      11.2. Informative References ...................................41
   Appendix A. Acknowledgements ......................................42
        
1. Introduction
1. 介绍

Within the Session Initiation Protocol (SIP) [RFC3261], "A Framework for Session Initiation Protocol (SIP) User Agent Profile Delivery" [RFC6080] and "A Framework for SIP Session Policies" [RFC6794] define mechanisms to convey session policies and configuration information from a network server to a user agent. An important piece of the information conveyed to the user agent relates to the media properties of the SIP sessions set up by the user agent. Examples for these media properties are the codecs and media types used, the media-intermediaries to be traversed, or the maximum bandwidth available for media streams.

在会话启动协议(SIP)[RFC3261]中,“会话启动协议(SIP)用户代理配置文件交付框架”[RFC6080]和“SIP会话策略框架”[RFC6794]定义了将会话策略和配置信息从网络服务器传送到用户代理的机制。传递给用户代理的一条重要信息涉及由用户代理设置的SIP会话的媒体属性。这些媒体属性的示例包括所使用的编解码器和媒体类型、要穿越的媒体中介体或媒体流的最大可用带宽。

This specification defines a document format for media properties of SIP sessions: the Media Policy Data Set Format (MPDF). This format can be used in two ways. First, it can be used to describe the properties of a given SIP session (e.g., the media types and codecs used). These MPDF documents are called session info documents and they are usually created based on the session description of a session. Second, the MPDF format can be used to define policies for SIP sessions in a session policy document. A session policy document defines properties for a session (e.g., the media types allowed in a session), independent of a specific session description.

本规范为SIP会话的媒体属性定义了一种文档格式:媒体策略数据集格式(MPDF)。此格式可通过两种方式使用。首先,它可以用来描述给定SIP会话的属性(例如,使用的媒体类型和编解码器)。这些MPDF文档称为会话信息文档,通常根据会话的会话描述创建。其次,MPDF格式可用于在会话策略文档中定义SIP会话的策略。会话策略文档定义会话的属性(例如,会话中允许的媒体类型),与特定会话描述无关。

If used with "A Framework for SIP Session Policies" [RFC6794], session info documents are used in conjunction with session-specific policies. A session info document is created by a user agent (UA) based on the current session description and submitted to the policy server. The policy server examines the session info document, modifies it if necessary (e.g., by removing video streams if video is not permitted), and returns the possibly modified session info document to the UA. Session policy documents, on the other hand, are used to describe session-independent policies that can be submitted to the UA independent of a specific session.

如果与“SIP会话策略框架”[RFC6794]一起使用,会话信息文档将与特定于会话的策略一起使用。会话信息文档由用户代理(UA)基于当前会话描述创建,并提交给策略服务器。策略服务器检查会话信息文档,必要时对其进行修改(例如,如果不允许视频,则删除视频流),并将可能修改的会话信息文档返回给UA。另一方面,会话策略文档用于描述可独立于特定会话提交给UA的会话无关策略。

The two types of MPDF documents, session information and session policy documents, share the same set of XML elements to describe session properties. Since these elements are used in different contexts for session info and session policy documents, two different root elements exist for the two document types: <session-info> is the root element for session information documents and <session-policy> is the root element for session policy documents.

两种类型的MPDF文档,会话信息和会话策略文档,共享同一组XML元素来描述会话属性。由于这些元素在会话信息和会话策略文档的不同上下文中使用,因此这两种文档类型存在两个不同的根元素:<session info>是会话信息文档的根元素,<session policy>是会话策略文档的根元素。

A user agent can receive multiple session policy documents from different sources. This can lead to a situation in which the user agent needs to apply multiple session policy documents to the same session. This standard specifies merging rules for those XML elements that can be present in session policy documents. It should

用户代理可以从不同来源接收多个会话策略文档。这可能导致用户代理需要将多个会话策略文档应用于同一会话的情况。此标准为会话策略文档中可能存在的XML元素指定合并规则。它应该

be noted that these merging rules are part of the semantics of a session policy XML element. User agents implement the merging rules as part of implementing the element semantics. As a consequence, it is not possible to build an entity that can mechanically merge two session policy documents without understanding the semantics of all elements in the input documents.

请注意,这些合并规则是会话策略XML元素语义的一部分。作为实现元素语义的一部分,用户代理实现合并规则。因此,在不理解输入文档中所有元素的语义的情况下,不可能构建能够机械地合并两个会话策略文档的实体。

Merging rules are not needed for elements of session information documents since they are created by one source and describe a specific session.

会话信息文档的元素不需要合并规则,因为它们由一个源创建并描述特定会话。

2. Terminology
2. 术语

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[RFC2119]中所述进行解释。

3. Media Policy Data Set Format
3. 媒体策略数据集格式

This section discusses fundamental properties of the Media Policy Data Set Format (MPDF).

本节讨论媒体策略数据集格式(MPDF)的基本属性。

3.1. Namespace and Media Type
3.1. 名称空间和媒体类型

The MPDF format is based on XML [W3C.REC-xml-20081126]. An MPDF document MUST be well-formed and MUST be valid according to schemas, including extension schemas, available to the validator and applicable to the XML document. MPDF documents MUST be based on XML 1.0 and MUST be encoded using UTF-8.

MPDF格式基于XML[W3C.REC-XML-20081126]。MPDF文档必须格式良好,并且必须根据验证程序可用且适用于XML文档的模式(包括扩展模式)有效。MPDF文档必须基于XML 1.0,并且必须使用UTF-8编码。

MPDF makes use of XML namespaces [W3C.REC-xml-names-19990114]. The namespace URIs for elements defined in this specification are URNs [RFC2141], using the namespace identifier 'ietf' defined by [RFC2648] and extended by [RFC3688]. The namespace URN for the MPDF schema is:

MPDF使用XML名称空间[W3C.REC-XML-names-19990114]。本规范中定义的元素的命名空间URI为URN[RFC2141],使用由[RFC2648]定义并由[RFC3688]扩展的命名空间标识符“ietf”。MPDF架构的命名空间URN为:

      urn:ietf:params:xml:ns:mediadataset
        
      urn:ietf:params:xml:ns:mediadataset
        

The media type for the Media Policy Data Set Format is:

媒体策略数据集格式的媒体类型为:

application/media-policy-dataset+xml

应用程序/媒体策略数据集+xml

3.2. Extensibility
3.2. 扩展性

The MPDF format can be extended using XML extension mechanisms if additional media properties are needed. In particular, elements from different XML namespaces MAY be present within a MPDF document for the purposes of extensibility; elements or attributes from unknown namespaces MUST be ignored.

如果需要其他媒体属性,可以使用XML扩展机制扩展MPDF格式。特别是,出于可扩展性的目的,来自不同XML名称空间的元素可能存在于MPDF文档中;必须忽略未知名称空间中的元素或属性。

3.3. Attributes
3.3. 属性

The following attributes can be used with elements of the MPDF format. The specification of each MPDF element lists which of these attributes can be used. If an element bears an attribute that may not be used with it, the user agent MUST ignore the attribute.

以下属性可用于MPDF格式的元素。每个MPDF元素的规范列出了可以使用的属性。如果一个元素具有一个不能与之一起使用的属性,那么用户代理必须忽略该属性。

3.3.1. The 'visibility' Attribute
3.3.1. “可见性”属性

The attribute 'visibility' specifies whether or not the user agent is advised to display the property value to the user. This is used to hide setting values that the administrator may not want the user to see or know. The 'visibility' attribute has two possible values:

属性“可见性”指定是否建议用户代理向用户显示属性值。这用于隐藏管理员可能不希望用户看到或知道的设置值。“可见性”属性有两个可能的值:

o visible: specifies that display of the property value is not restricted. This is the default value of the attribute if it is not specified.

o 可见:指定属性值的显示不受限制。如果未指定,则这是属性的默认值。

o hidden: Specifies that the user agent is advised not to display the property value. Display of the property value may be allowed using special administrative interfaces, but it is not appropriate for the ordinary user.

o 隐藏:指定建议用户代理不显示属性值。可以使用特殊的管理界面显示属性值,但不适合普通用户。

3.3.2. The 'direction' Attributes
3.3.2. “方向”属性

Some properties are unidirectional and only apply to messages or data streams transmitted into one direction. For example, a property for media streams can be restricted to outgoing media streams only. Unidirectional properties can be expressed by adding a 'direction' attribute to the respective element.

某些属性是单向的,仅适用于向一个方向传输的消息或数据流。例如,媒体流的属性只能限制为传出媒体流。单向属性可以通过向各个元素添加“direction”属性来表示。

The 'direction' attribute can have the following values:

“方向”属性可以具有以下值:

o recvonly: the property only applies to incoming streams.

o RecvoOnly:该属性仅适用于传入流。

o sendonly: the property only applies to outgoing streams.

o sendonly:该属性仅适用于传出流。

o sendrecv: the property applies to streams in both directions. This is the default value that is used if the 'direction' attribute is omitted.

o sendrecv:该属性适用于两个方向的流。这是省略“方向”属性时使用的默认值。

3.3.3. The 'q' Attribute
3.3.3. “q”属性

It is possible to express a preference for a certain value relative to the other values within a set of multiple values that are allowed within a property. For example, it is possible to express that the codecs G.711 and G.729 are allowed, but G.711 is preferred. Preferences are to be expressed by adding a 'q' attribute to a

可以相对于属性中允许的一组多个值中的其他值来表示对某个值的偏好。例如,可以表示允许编解码器G.711和G.729,但是G.711是首选的。首选项将通过向属性添加“q”属性来表示

property element. The 'q' attribute is only allowed in elements that specify allowed values (as opposed to elements that specify forbidden values).

属性元素。“q”属性仅允许在指定允许值的元素中使用(与指定禁止值的元素相反)。

The value of the 'q' attribute is a decimal number within the range of 0 to 1, inclusive, with two or fewer decimal places. An element with a higher 'q' value is preferred over one with a lower 'q' value.

“q”属性的值是0到1(含0到1)范围内的十进制数,小数位数不超过两位。“q”值较高的元素比“q”值较低的元素更可取。

3.3.4. The 'media-type' Attribute
3.3.4. “媒体类型”属性

The media-type attribute is used to define that an element only applies to streams of a certain media type, as defined in Section 8.2.1 of [RFC4566]. For example, it may only apply to audio streams. The value of the 'media-type' attribute MUST be the media type, such as audio, video, text, or application.

媒体类型属性用于定义元素仅适用于特定媒体类型的流,如[RFC4566]第8.2.1节所定义。例如,它可能仅适用于音频流。“媒体类型”属性的值必须是媒体类型,例如音频、视频、文本或应用程序。

3.3.5. The 'label' Attribute
3.3.5. “标签”属性

The label attribute is used to identify a specific media stream. The value of the label attribute is a token, whose syntax is defined in [RFC4574]. The token can be chosen freely; however, it MUST be unique among all <stream> elements in a session-info document.

标签属性用于标识特定的媒体流。label属性的值是一个标记,其语法在[RFC4574]中定义。代币可以自由选择;但是,它在会话信息文档中的所有<stream>元素中必须是唯一的。

3.3.6. The 'enabled' Attribute
3.3.6. “enabled”属性

The 'enabled' attribute specifies whether or not the user agent is allowed to establish a media stream. This boolean attribute has two possible values:

“enabled”属性指定是否允许用户代理建立媒体流。此布尔属性有两个可能的值:

o yes: specifies that the media stream can be established. This is the default value of the attribute if it is not specified.

o 是:指定可以建立媒体流。如果未指定,则这是属性的默认值。

o no: specifies that the user agent MUST NOT establish the media stream.

o 否:指定用户代理不能建立媒体流。

4. Session Info Documents
4. 会议信息文件

Session info documents describe key properties of a SIP session such as the media streams used in the session. Session info documents are typically created based on a session description expressed using Session Description Protocol (SDP) [RFC4566] or an SDP offer/answer pair [RFC3264].

会话信息文档描述SIP会话的关键属性,例如会话中使用的媒体流。会话信息文档通常基于使用会话描述协议(SDP)[RFC4566]或SDP提供/应答对[RFC3264]表示的会话描述创建。

Session info documents can be used for session-specific policies [RFC6794]. In this usage, a UA creates a session info document based on its session description(s) and sends this document to the policy server. The policy server modifies this document according to the policies that apply to the described session and returns a version of

会话信息文档可用于特定于会话的策略[RFC6794]。在这种用法中,UA根据其会话描述创建会话信息文档,并将该文档发送到策略服务器。策略服务器根据应用于所述会话的策略修改此文档,并返回

the session info document that is compliant to the policies. For example, if video streams are not permissible under current policies and the UA submits a session info document that contains a video stream, the policy server will disable (i.e., enabled="no") the video stream in the session info document that it returns to the UA.

符合策略的会话信息文档。例如,如果在当前策略下不允许视频流,并且UA提交包含视频流的会话信息文档,则策略服务器将禁用(即,enabled=“no”)它返回给UA的会话信息文档中的视频流。

Session info documents use the <session-info> root element. They use elements described in this section and common elements described in Section 6.

会话信息文档使用<Session info>根元素。它们使用本节中描述的元素和第6节中描述的常见元素。

Elements that are only present in session info documents do not require merging rules. If used in the context of session-specific policies, session info documents are sent to one policy server at a time only; therefore, a UA does not need to merge multiple session info documents into one. A policy server needs to modify a session info document it has received according to its policies. The modification of session info documents is determined by the local policies of the policy server and is, thus, outside the scope of this standard.

仅存在于会话信息文档中的元素不需要合并规则。如果在会话特定策略的上下文中使用,会话信息文档一次只发送到一个策略服务器;因此,UA不需要将多个会话信息文档合并为一个文档。策略服务器需要根据其策略修改其收到的会话信息文档。会话信息文档的修改由策略服务器的本地策略决定,因此不在本标准的范围内。

A policy server can completely reject a session by returning a session info document with an empty <session-info> element:

策略服务器可以通过返回包含空<session info>元素的会话信息文档来完全拒绝会话:

      <session-info></session-info>
        
      <session-info></session-info>
        
4.1. Mapping between SDP and Session Info Documents
4.1. SDP和会话信息文档之间的映射

This section specifies how to map information in a session description or an SDP offer/answer pair [RFC3264] to session info documents. It also specifies how to map a session info document into a session description. Note that these mapping rules do not include rules for all elements that need to be present in a session info document or in a session description. That is, some of those elements are generated following their associated general rules (e.g., the general rules to generate SDP "v=" and "t=" lines).

本节指定如何将会话描述或SDP提供/应答对[RFC3264]中的信息映射到会话信息文档。它还指定如何将会话信息文档映射到会话描述中。请注意,这些映射规则不包括会话信息文档或会话描述中需要存在的所有元素的规则。也就是说,这些元素中的一些元素是根据其关联的一般规则(例如,生成SDP“v=”和“t=”行的一般规则)生成的。

A UA with a session description that needs to create a session info document uses the data in the session description and maps it following the rules below. A UA with an SDP offer/answer pair that needs to create a session info document uses the data that has been agreed in the offer/answer exchange.

具有需要创建会话信息文档的会话描述的UA使用会话描述中的数据,并按照以下规则对其进行映射。具有SDP报价/应答对且需要创建会话信息文档的UA使用报价/应答交换中商定的数据。

   A UA MUST create a separate <stream> element for each "m=" line in a
   session description or SDP offer/answer pair; the order of the
   <stream> elements corresponds to the order of the "m=" lines.  For a
   session description, the UA MUST insert the media type from the "m="
   line into a <media-type> element and MUST create a <codec> element
   for each codec listed in the "m=" line.  For an SDP offer/answer
        
   A UA MUST create a separate <stream> element for each "m=" line in a
   session description or SDP offer/answer pair; the order of the
   <stream> elements corresponds to the order of the "m=" lines.  For a
   session description, the UA MUST insert the media type from the "m="
   line into a <media-type> element and MUST create a <codec> element
   for each codec listed in the "m=" line.  For an SDP offer/answer
        

pair, the UA MUST insert a <codec> element for each of the codecs that were agreed upon for the particular stream in the offer/answer exchange. The <codec> elements MUST have 'q' attributes with values that decrease with the order the codecs are given in the "m=" line. (Other than the ordering restriction, the particular values used are not specified by this document.)

配对时,UA必须为要约/应答交换中为特定流商定的每个编解码器插入<codec>元素。<codec>元素必须具有“q”属性,其值随编解码器在“m=”行中给出的顺序而减小。(除订购限制外,本文件未规定使用的特定值。)

The UA MUST create a <local-host-port> element for each stream using the port taken from the "m=" line and the address from the corresponding "c=" line of the local session description. The UA SHOULD create a <remote-host-port> element using the port and address from the "m=" and "c=" lines for the same stream taken from the remote session description if this session description is available. (The local SDP is the one sent by the UA; the remote SDP is the one received from the remote UA.)

UA必须使用从本地会话描述的“m=”行获取的端口和相应的“c=”行获取的地址,为每个流创建一个<local host port>元素。UA应使用“m=”和“c=”行中的端口和地址创建<remote host port>元素,用于从远程会话描述中获取的相同流(如果该会话描述可用)。(本地SDP是UA发送的SDP;远程SDP是从远程UA接收的SDP。)

The <remote-host-port> contains information that may be considered sensitive from a privacy standpoint. A UA configured not to disclose that information would not include the <remote-host-port> element in its session info documents.

<remote host port>包含从隐私角度来看可能被视为敏感的信息。配置为不披露该信息的UA不会在其会话信息文档中包含<remote host port>元素。

The numeric value in a "b=CT:..." attribute in a session description is used to set the content of a <max-bw> element with the direction attribute value corresponding to which SDP contains the "b=" attribute.

会话描述中“b=CT:…”属性中的数值用于设置<max bw>元素的内容,该元素具有与SDP包含“b=”属性对应的方向属性值。

The numeric value in a "b=AS:..." attribute at the session level in a session description is used to set the content of a <max-session-bw> element with the direction attribute value corresponding to the SDP which contains the "b=" attribute.

会话描述中会话级别的“b=AS:…”属性中的数值用于设置<max session bw>元素的内容,该元素的方向属性值对应于包含“b=”属性的SDP。

The numeric value in a "b=AS:..." attribute at the media level in a media description is used to set the content of a <max-stream-bw> element child of the appropriate <stream> element, with the direction attribute value corresponding to the SDP which contains the "b=" attribute.

媒体描述中媒体级别的“b=AS:…”属性中的数值用于设置相应<stream>元素的<max stream bw>元素子元素的内容,方向属性值对应于包含“b=”属性的SDP。

An "a=label:..." attribute [RFC4574] is used to set the 'label' attribute of the appropriate <stream> element.

“a=label:…”属性[RFC4574]用于设置相应<stream>元素的“label”属性。

The mapping from a session info document to a session description follows the same rules in the reverse direction.

从会话信息文档到会话描述的映射遵循相反方向的相同规则。

For any particular "m=" line, the codecs MUST be listed in decreasing order of the values of the 'q' attributes of the corresponding <codec> elements.

对于任何特定的“m=”行,编解码器必须按相应<codec>元素的“q”属性值的降序排列。

4.2. The <session-info> Element
4.2. <session info>元素

The <session-info> element describes the properties of a specific SIP session. The <session-info> element MAY contain the optional <context> and <streams> elements, and multiple (including zero) <max-bw>, <max-session-bw>, <max-stream-bw>, <media-intermediaries>, and <qos-dscp> elements, as well as elements from other namespaces.

元素描述特定SIP会话的属性。<session info>元素可以包含可选的<context>和<streams>元素,以及多个(包括零个)<max bw>、<max session bw>、<max stream bw>、<media intermediates>和<qos dscp>元素,以及来自其他名称空间的元素。

4.3. The <streams> Element
4.3. <streams>元素

The <streams> element is a container that is used to describe the media streams used in a session. A <streams> element contains zero or more <stream> elements. Each <stream> element describes the properties (e.g., media type, codecs, and IP addresses and ports) of a single media stream.

<streams>元素是一个容器,用于描述会话中使用的媒体流。<streams>元素包含零个或多个<stream>元素。每个<stream>元素描述单个媒体流的属性(例如,媒体类型、编解码器、IP地址和端口)。

4.3.1. The <stream> Element
4.3.1. <stream>元素

The <stream> element describes a specific media stream. It contains the media type, codecs, and the hostname(s) or IP address(es) and port(s) of this stream.

<stream>元素描述特定的媒体流。它包含媒体类型、编解码器以及此流的主机名或IP地址和端口。

The hostname(s) or IP address(es) and port number(s) of a stream correspond to the ones listed in the session description(s). A UA that generates a <stream> element MUST insert the hostname/port found in the local session description for this media stream into the local-host-port element. The UA SHOULD insert the hostname/port of the remote session description into the <remote-host-port> element, if the remote session description is available to the UA. If not, the UA generates a stream element that only contains the <local-host-port> element.

流的主机名或IP地址和端口号与会话描述中列出的对应。生成<stream>元素的UA必须将此媒体流的本地会话描述中找到的主机名/端口插入本地主机端口元素。如果UA可以使用远程会话描述,UA应将远程会话描述的主机名/端口插入<remote host port>元素。如果没有,UA将生成一个仅包含<local host port>元素的流元素。

This element MAY have the direction, label, and enabled attributes (see Section 3.3).

该元素可能具有方向、标签和启用属性(参见第3.3节)。

The 'label' attribute is used to identify a specific media stream. The value of the label attribute is a token that is unique among all <stream> elements in a session-info document and whose syntax is defined in [RFC4566].

“标签”属性用于标识特定的媒体流。label属性的值是会话信息文档中所有<stream>元素中唯一的标记,其语法在[RFC4566]中定义。

The 'enabled' attribute specifies whether or not the user agent is allowed to establish a media stream.

“enabled”属性指定是否允许用户代理建立媒体流。

The <stream> element MUST contain one <media-type> element, one or more <codec> elements and one <local-host-port> element. The <stream> element MUST contain zero or one <remote-host-port> elements.

<stream>元素必须包含一个<media type>元素、一个或多个<codec>元素和一个<local host port>元素。<stream>元素必须包含零个或一个<remote host port>元素。

4.3.1.1. The <local-host-port> Element
4.3.1.1. <localhost-port>元素

The <local-host-port> element contains the hostname or IP address and the receiving port number of the media stream in the local session description. The hostname or IP address is separated from the port by a ":". An example is: "host.example.com:49562".

<local host port>元素包含本地会话描述中媒体流的主机名或IP地址以及接收端口号。主机名或IP地址与端口之间用“:”分隔。例如:“host.example.com:49562”。

The hostname or IP address of element is found in the "c=" element for the stream in the local session description. The port number is found in the "m=" element.

元素的主机名或IP地址位于本地会话描述中流的“c=”元素中。端口号位于“m=”元素中。

4.3.1.2. The <remote-host-port> Element
4.3.1.2. <remote host port>元素

The <remote-host-port> element is structured exactly as the <local-host-port> element. However, it identifies the hostname or IP address and receiving port number of the media stream in the remote session description.

<remote host port>元素的结构与<local host port>元素完全相同。但是,它在远程会话描述中标识媒体流的主机名或IP地址以及接收端口号。

4.4. The <media-intermediaries> Element
4.4. <media intermediates>元素

The <media-intermediaries> element expresses a policy for routing media streams through media intermediaries. The purpose of the <media-intermediaries> element is to tell the UA to send media streams through a chain of media intermediaries. The manner in which the UA arranges for a media stream to pass through the intermediaries depends on the type of intermediary.

<media intermediates>元素表示通过媒体中介路由媒体流的策略。<media intermediates>元素的目的是告诉UA通过媒体中介链发送媒体流。UA安排媒体流通过中介的方式取决于中介的类型。

The <media-intermediaries> element is a container that lists all media intermediaries to be traversed. Media intermediaries should be traversed in the order in which they appear in this list. The topmost entry should be traversed first, the last entry should be traversed last.

元素是一个容器,它列出了要遍历的所有媒体中介。媒体中介应按照它们在此列表中出现的顺序遍历。应该首先遍历最上面的条目,最后一个条目应该最后遍历。

Different types of intermediaries exist. These intermediaries are not necessarily interoperable and it may not be possible to chain them in an arbitrary order. A <media-intermediaries> element SHOULD therefore only contain intermediary elements of the same type.

存在不同类型的中介机构。这些中介不一定是可互操作的,也不可能以任意顺序将它们链接起来。因此,<media intermediates>元素应该只包含相同类型的中介元素。

This element MAY have the 'direction' attribute (see Section 3.3).

该元素可能具有“方向”属性(见第3.3节)。

Multiple <media-intermediaries> elements MUST NOT be present in a container unless each applies to a different set of streams (e.g., one <media-intermediaries> element for incoming and one for outgoing streams). The <media-intermediaries> element MUST contain one or more elements defining a specific media intermediary, such as <fixed-intermediary> or <turn-intermediary>.

容器中不得存在多个<media intermediates>元素,除非每个元素适用于不同的流集(例如,一个<media intermediates>元素用于传入流,一个用于传出流)。<media intermediates>元素必须包含一个或多个定义特定媒体中介的元素,例如<fixed intermediate>或<turn intermediate>。

Note: it is not intended that the <media-intermediaries> element replace connectivity discovery mechanisms such as Interactive Connectivity Establishment (ICE). Instead of finding media relays that provide connectivity, this element defines a policy for media intermediaries that should be traversed. The set of intermediaries defined in the <media-intermediaries> element and the ones discovered through ICE may overlap but don't have to.

注意:<media intermediates>元素并不是要取代交互连接建立(ICE)等连接发现机制。此元素不是查找提供连接的媒体中继,而是为应该遍历的媒体中介定义策略。<media intermediates>元素中定义的中介集和通过ICE发现的中介集可以重叠,但不必重叠。

4.4.1. The <fixed-intermediary> Element
4.4.1. <fixed intermediate>元素

A fixed intermediary relies on pre-configured forwarding rules. The user agent simply sends media to the first media intermediary listed. It can assume that this media intermediary has been pre-configured with a forwarding rule for the media stream and knows where to forward the packets. The configuration of forwarding rules in the intermediary must be done through other means.

固定中介依赖于预先配置的转发规则。用户代理只需将媒体发送到列出的第一个媒体中介。它可以假设该媒体中介已经预先配置了媒体流的转发规则,并且知道在哪里转发数据包。中介中转发规则的配置必须通过其他方式完成。

The contents of a <fixed-intermediary> element MUST be echoed to all policy servers that provide policies for a session. That is, if multiple policy servers provide policies for the same session, this element needs to be forwarded to all of them, possibly in a second round of session-specific policy subscriptions as described in [RFC6794] in the "Contacting the Policy Server" section.

<fixed Intermediate>元素的内容必须回显到为会话提供策略的所有策略服务器。也就是说,如果多个策略服务器为同一会话提供策略,则需要将此元素转发给所有策略服务器,可能是在第二轮特定于会话的策略订阅中,如“联系策略服务器”部分中的[RFC6794]所述。

The <fixed-intermediary> element MUST contain one <int-host-port> element and MAY contain multiple optional <int-addl-port> elements.

<fixed intermediate>元素必须包含一个<int host port>元素,并且可以包含多个可选的<int addl port>元素。

4.4.1.1. The <int-host-port> Element
4.4.1.1. <int主机端口>元素

The <int-host-port> element contains the hostname or IP address and port number of a media intermediary. The UA uses this hostname/IP address and port to send its media streams to the intermediary. The hostname or IP address is separated from the port by a ":".

<int host port>元素包含媒体中介的主机名或IP地址和端口号。UA使用此主机名/IP地址和端口将其媒体流发送到中介。主机名或IP地址与端口之间用“:”分隔。

If a protocol uses multiple subsequent ports (e.g., RTP), the lowest port number SHOULD be included in the <int-host-port> element. All additional port numbers SHOULD be identified in <int-addl-port> elements.

如果协议使用多个后续端口(例如RTP),则最低端口号应包含在<int host port>元素中。所有附加端口号应在<int addl port>元素中标识。

4.4.1.2. The <int-addl-port> Element
4.4.1.2. <int addl port>元素

If a protocol uses multiple subsequent ports (e.g., RTP), the lowest port number SHOULD be included in the <int-host-port> element. All additional port numbers SHOULD be identified in <int-addl-port> elements.

如果协议使用多个后续端口(例如RTP),则最低端口号应包含在<int host port>元素中。所有附加端口号应在<int addl port>元素中标识。

4.4.2. The <turn-intermediary> Element
4.4.2. <turn>元素

The Traversal Using Relays around NAT (TURN) [RFC5766] protocol provides a mechanism for inserting a relay into the media path. Although the main purpose of TURN is NAT traversal, it is possible for a TURN relay to perform other media intermediary functionalities. The user agent establishes a binding on the TURN server and uses this binding to transmit and receive media.

使用NAT(TURN)[RFC5766]协议周围的中继进行遍历提供了将中继插入媒体路径的机制。尽管TURN的主要目的是NAT穿越,但TURN中继也可以执行其他媒体中介功能。用户代理在TURN服务器上建立绑定,并使用此绑定发送和接收媒体。

The <turn-intermediary> element MUST contain one <int-host-port> element and MAY contain multiple optional <int-addl-port> elements and zero or one each of the <shared-secret>, <user>, and <transport> elements. If no <transport> element is present, UDP is assumed.

<turn intermediate>元素必须包含一个<int host port>元素,并且可以包含多个可选的<int addl port>元素和零个或一个<shared secret>、<user>和<transport>元素。如果不存在<transport>元素,则假定为UDP。

4.4.2.1. The <shared-secret> Element
4.4.2.1. <sharedsecret>元素

The <shared-secret> element contains the shared secret needed to authenticate at the media intermediary.

<shared secret>元素包含在媒体中介进行身份验证所需的共享密钥。

4.4.2.2. The <user> Element
4.4.2.2. <user>元素

The <user> element contains the user ID needed to authenticate to the media intermediary.

<user>元素包含向媒体中介进行身份验证所需的用户ID。

4.4.2.3. The <transport> Element
4.4.2.3. <transport>元素

The <transport> element contains the name of the transport to be used for communicating with the TURN server. This document defines the values "tcp" and "udp" for use in the <transport> element. Other specifications may define additional values.

<transport>元素包含用于与TURN服务器通信的传输的名称。本文档定义了在<transport>元素中使用的值“tcp”和“udp”。其他规范可能会定义附加值。

4.4.3. The <msrp-intermediary> Element
4.4.3. <msrp中介>元素

The Message Session Relay Protocol (MSRP) Relay Extensions [RFC4976] define a means for incorporating relays into the media path of an MSRP [RFC4975] session. MSRP is explicitly designed for a variety of purposes, including policy enforcement.

消息会话中继协议(MSRP)中继扩展[RFC4976]定义了将中继合并到MSRP[RFC4975]会话的媒体路径中的方法。管理系统更新项目明确设计用于各种目的,包括政策执行。

The <msrp-intermediary> element MUST contain one <msrp-uri> element, and may contain zero or one of each of the <shared-secret> and <user> elements.

<msrp intermediate>元素必须包含一个<msrp uri>元素,并且可以包含零个或一个<shared secret>和<user>元素。

4.4.3.1. The <msrp-uri> Element
4.4.3.1. <msrp uri>元素

The <msrp-uri> element contains a URI that indicates the MSRP server to use for an intermediary. The UA uses this URI to authenticate with the MSRP relay, and then uses the URI it learns through that authentication process for any MSRP media it sends or receives. The URIs in the <msrp-uri> element MUST have a scheme of "msrps:".

<msrp uri>元素包含一个uri,该uri指示用于中介的msrp服务器。UA使用此URI向MSRP中继进行身份验证,然后对其发送或接收的任何MSRP媒体使用通过该身份验证过程学习到的URI。<msrp uri>元素中的uri必须具有“msrps:”的方案。

5. Session Policy Documents
5. 会议政策文件

Session policy documents describe policies for SIP sessions. Session policy documents are independent of any specific session description and express general policies for SIP sessions. A session policy document is used to determine if a SIP session is policy-conformant and can be used to modify the session, if needed, to conform to the described policies.

会话策略文档描述SIP会话的策略。会话策略文档独立于任何特定会话描述,并表示SIP会话的一般策略。会话策略文档用于确定SIP会话是否符合策略,并可用于在需要时修改会话以符合所述策略。

Session policy documents can be used to encode session-independent policies [RFC6794]. In this usage, a policy server creates a session policy document and passes this document to a UA. The UA applies the policies defined to the SIP sessions it is establishing. For example, a session policy document can contain an element that prohibits the use of video. To set up a session that is compliant to this policy, a UA does not include the video media type in its SDP offer or answer.

会话策略文档可用于编码与会话无关的策略[RFC6794]。在这种用法中,策略服务器创建会话策略文档并将该文档传递给UA。UA将定义的策略应用于其正在建立的SIP会话。例如,会话策略文档可以包含禁止使用视频的元素。要设置符合此策略的会话,UA在其SDP提供或应答中不包括视频媒体类型。

Session policy documents use the <session-policy> root element. They use elements described in this section and common elements described in Section 6.

会话策略文档使用<Session policy>根元素。它们使用本节中描述的元素和第6节中描述的常见元素。

5.1. Merging Session Policies
5.1. 合并会话策略

A UA may receive session policy documents from multiple sources; multiple session policy documents can be merged into a single session policy document that expresses the logical AND of the policies.

UA可以从多个来源接收会话策略文档;可以将多个会话策略文档合并为一个会话策略文档,该文档表示策略的逻辑和。

5.1.1. Single Value Selection
5.1.1. 单值选择

Properties that have a single value (e.g., the maximum bandwidth allowed) require that a common value be determined for this property during the merging process. The merging rules for determining this value need to be defined individually for each element in the schema definition (e.g., select the lowest maximum bandwidth).

具有单个值(例如,允许的最大带宽)的属性要求在合并过程中为此属性确定公共值。需要为模式定义中的每个元素分别定义用于确定该值的合并规则(例如,选择最低最大带宽)。

5.1.2. Merging Sets
5.1.2. 合并集

The <media-types-allowed>, <media-types-excluded>, <codecs-allowed> and <codecs-excluded> elements are containers that hold a set of media-type/codec elements. The values defined in these containers MUST be merged to determine the set of media types/codecs that are permissible in a session. Note that for a particular codec, the <mime-parameter> element (see Section 6.2.2) allows identifying a particular encoding or profile of the codec. Therefore, when the <mime-parameter> element is present, what is allowed or excluded is the particular encoding or profile. Other encodings or profiles of the same codec are unaffected.

<media types allowed>、<media types excluded>、<codecs allowed>和<codecs excluded>元素是包含一组媒体类型/编解码器元素的容器。必须合并这些容器中定义的值,以确定会话中允许的媒体类型/编解码器集。请注意,对于特定编解码器,<mime parameter>元素(参见第6.2.2节)允许识别编解码器的特定编码或配置文件。因此,当<mime parameter>元素存在时,允许或排除的是特定的编码或配置文件。同一编解码器的其他编码或配置文件不受影响。

To merge the media-types-* and codecs-* containers, a UA MUST apply all containers it has received one after the other to the set of media types/codecs it supports. After applying media-types-*/ codecs-* elements, the UA has the list of media types/codecs that are allowed in a session. The containers MAY be applied in any order. However, each time a container is applied to the set of media types/ codecs allowed, this set MUST stay the same or be reduced. Media types/codecs cannot be added during this process.

要合并媒体类型-*和编解码器-*容器,UA必须将其接收到的所有容器逐个应用于其支持的媒体类型/编解码器集。应用媒体类型-*/codecs-*元素后,UA拥有会话中允许的媒体类型/编解码器列表。容器可按任何顺序使用。但是,每次将容器应用于允许的媒体类型/编解码器集时,该集必须保持不变或减少。在此过程中无法添加媒体类型/编解码器。

The following example illustrates the merging process for two data sets. In this example, the UA supports the following set of audio codecs: PCMA, PCMU, and G729. After applying session policy document 1, the UA removes PCMA as it is disallowed by this policy. The remaining set of codecs is PCMU and G729. Session policy document 2 disallows all codecs that are not listed. After applying this policy, the set of codecs allowed is G729.

下面的示例演示了两个数据集的合并过程。在此示例中,UA支持以下一组音频编解码器:PCMA、PCMU和G729。应用会话策略文档1后,UA删除PCMA,因为该策略不允许PCMA。剩下的一组编解码器是PCMU和G729。会话策略文档2不允许所有未列出的编解码器。应用此策略后,允许的编解码器集为G729。

   Session Policy Document 1:
   <codecs-excluded>
     <codec><media-type-subtype>audio/PCMA</media-type-subtype></codec>
   </codecs-excluded>
        
   Session Policy Document 1:
   <codecs-excluded>
     <codec><media-type-subtype>audio/PCMA</media-type-subtype></codec>
   </codecs-excluded>
        
   Session Policy Document 2:
   <codecs-allowed>
     <codec><media-type-subtype>audio/PCMA</media-type-subtype></codec>
     <codec><media-type-subtype>audio/G729</media-type-subtype></codec>
   </codecs-allowed>
        
   Session Policy Document 2:
   <codecs-allowed>
     <codec><media-type-subtype>audio/PCMA</media-type-subtype></codec>
     <codec><media-type-subtype>audio/G729</media-type-subtype></codec>
   </codecs-allowed>
        

It is possible that two session policy documents define non-overlapping sets of allowed media types or codecs. The resulting merged set would be empty, which is illegal according to the schema definition of the media-type/codec elements. This constitutes a conflict that cannot be resolved automatically. If these properties are enforced by both networks, the UA will not be able to set up a session.

两个会话策略文档可能定义了允许的媒体类型或编解码器的非重叠集。结果合并集将为空,根据媒体类型/编解码器元素的架构定义,这是非法的。这构成了无法自动解决的冲突。如果两个网络都强制执行这些属性,UA将无法建立会话。

The combined set of media types/codecs MUST again be valid and well-formed according to the schema definitions. A conflict occurs if the combined property set is not a well-formed document after the merging process is completed.

根据模式定义,媒体类型/编解码器的组合集必须仍然有效且格式良好。合并过程完成后,如果合并的属性集不是格式良好的文档,则会发生冲突。

5.1.3. Local Policy Server Selection
5.1.3. 本地策略服务器选择

Some properties require that only values from the local policy server are used. The local policy server is the policy server that is in the local domain of the user agent.

某些属性要求仅使用本地策略服务器中的值。本地策略服务器是用户代理的本地域中的策略服务器。

If policy documents are delivered through the configuration framework [RFC6080], the value received through a subscription using the "local-network" profile-type SHOULD used. Values received through other profile-type subscriptions SHOULD be discarded.

如果策略文档通过配置框架[RFC6080]交付,则应使用通过使用“本地网络”配置文件类型的订阅接收的值。应丢弃通过其他配置文件类型订阅接收的值。

If policy documents are delivered through the session-specific policy mechanism [RFC6794] the value received from the policy server identified by the Local Policy Server URI SHOULD used. Values received from other policy servers SHOULD be discarded.

如果策略文档通过特定于会话的策略机制[RFC6794]传递,则应使用从本地策略服务器URI标识的策略服务器接收的值。应丢弃从其他策略服务器接收的值。

5.2. The <session-policy> Element
5.2. <sessionpolicy>元素

The <session-policy> element describes a policy that applies to SIP sessions. The <session-policy> element MAY contain the optional <context> and <local-ports> elements and multiple (including zero) <media-types-allowed>, <media-types-excluded>, <codecs-allowed>, <codecs-excluded>, <max-bw>, <max-session-bw>, <max-stream-bw>, and <qos-dscp> elements as well as elements from other namespaces.

元素描述了应用于SIP会话的策略。<session policy>元素可以包含可选的<context>和<local ports>元素以及多个(包括零个)<media types allowed>、<media types excluded>、<codecs allowed>、<max bw>、<max session bw>、<max stream bw>元素以及来自其他名称空间的元素。

5.3. The <media-types-allowed> Element
5.3. <media types allowed>元素

The <media-types-allowed> element is a container that is used to define the set of media types (e.g., audio, video) that are allowed in a session. All media types that are not listed in this container are not permitted in a session. A specific media type is allowed by adding the corresponding <media-type> element to this container.

<media types allowed>元素是一个容器,用于定义会话中允许的一组媒体类型(例如音频、视频)。会话中不允许使用此容器中未列出的所有媒体类型。通过将相应的<media type>元素添加到此容器,可以使用特定的媒体类型。

This element MAY have the 'direction' and 'visibility' attributes (see Section 3.3).

该元素可能具有“方向”和“可见性”属性(见第3.3节)。

Multiple <media-types-allowed> elements MUST NOT be present in a container element unless each applies to a different set of streams (e.g., one <media-types-allowed> element for incoming and one for outgoing streams). The <media-types-allowed> element MUST contain zero or more <media-type> elements.

容器元素中不得存在多个<media types allowed>元素,除非每个元素适用于不同的流集(例如,一个<media types allowed>元素用于传入流,一个用于传出流)。<media types allowed>元素必须包含零个或多个<media type>元素。

A <media-types-allowed> element MUST NOT be used in a container that contains a <media-types-excluded> element. The absence of both elements in a container indicates no restrictions regarding media types.

在包含<media types excluded>元素的容器中,不能使用<media types allowed>元素。容器中缺少这两个元素表示对媒体类型没有限制。

Merging of session-policy documents: <media-types-allowed> containers are merged as described in "Merging Sets" Section 5.1.2.

会话策略文档的合并:<media types allowed>容器按照第5.1.2节“合并集”中的描述进行合并。

5.4. The <media-types-excluded> Element
5.4. <media types excluded>元素

The <media-types-excluded> element is a container that is used to define the set of media types (e.g., audio, video) that are not permitted in a session. All media types that are not listed in this container are allowed and can be used in a session. A specific media type is excluded from a session by adding the corresponding <media-type> element to this container.

<media types excluded>元素是一个容器,用于定义会话中不允许的一组媒体类型(例如音频、视频)。此容器中未列出的所有媒体类型都是允许的,并且可以在会话中使用。通过将相应的<media type>元素添加到此容器,可以从会话中排除特定的媒体类型。

This element MAY have the 'direction' and 'visibility' attributes (see Section 3.3).

该元素可能具有“方向”和“可见性”属性(见第3.3节)。

Multiple <media-types-excluded> elements MUST NOT be present in a container element unless each applies to a different set of streams (e.g., one <media-types-excluded> element for incoming and one for outgoing streams). The <media-types-excluded> element MUST contain zero or more <media-type> elements.

容器元素中不得存在多个<media types excluded>元素,除非每个元素适用于不同的流集(例如,一个<media types excluded>元素用于传入流,一个用于传出流)。<media types excluded>元素必须包含零个或多个<media type>元素。

A <media-types-excluded> element MUST NOT be used in a container that contains a <media-types-allowed> element. The absence of both elements in a container indicates no restrictions regarding media types.

在包含<media types allowed>元素的容器中,不能使用<media types excluded>元素。容器中缺少这两个元素表示对媒体类型没有限制。

Merging of session-policy documents: <media-types-excluded> containers are merged as described in "Merging Sets" Section 5.1.2.

会话策略文档的合并:<media types excluded>容器按照第5.1.2节“合并集”中的说明进行合并。

5.5. The <codecs-allowed> Element
5.5. <codecasallowed>元素

The <codecs-allowed> element is a container that is used to define the set of codecs that may be used in a session. All codecs not listed in the <codecs-allowed> element are disallowed and MUST NOT be used in a session. A policy MUST allow the use of at least one codec per media type. A specific codec is allowed by adding the corresponding <codec> element to this container.

元素是一个容器,用于定义会话中可能使用的编解码器集。不允许<codecs allowed>元素中未列出的所有编解码器,并且不得在会话中使用。策略必须允许每个媒体类型至少使用一个编解码器。通过将相应的<codec>元素添加到此容器,可以使用特定的编解码器。

The <codecs-allowed> element MAY have the 'direction' and 'visibility' attributes (see Section 3.3).

<codecasallowed>元素可能具有“方向”和“可见性”属性(参见第3.3节)。

Multiple <codecs-allowed> elements MUST NOT be present in a container element unless each applies to a different set of streams (e.g., one <codecs-allowed> element for incoming and one for outgoing streams). The <codecs-allowed> element MUST contain zero or more <codec> elements.

容器元素中不得存在多个<codecs allowed>元素,除非每个元素适用于不同的流集(例如,一个<codecs allowed>元素用于传入流,一个用于传出流)。<codec allowed>元素必须包含零个或多个<codec>元素。

A <codecs-allowed> element MUST NOT be used in a container that contains a <codecs-excluded> element. The absence of both elements in a container indicates no restrictions regarding codecs.

在包含<codecs excluded>元素的容器中,不能使用<codecs allowed>元素。容器中缺少这两个元素表示没有关于编解码器的限制。

Merging of session-policy documents: <codecs-allowed> containers are merged as described in "Merging Sets" Section 5.1.2.

会话策略文档的合并:<codec allowed>容器按照第5.1.2节“合并集”中的说明进行合并。

5.6. The <codecs-excluded> Element
5.6. <codecs excluded>元素

The <codecs-excluded> element is a container that is used to define the set of codecs that are disallowed in a session. All codecs not listed in the <codecs-excluded> element are permitted and MAY be used in a session. A specific codec is disallowed by adding the corresponding <codec> element to this container.

元素是一个容器,用于定义会话中不允许的编解码器集。允许<codecs excluded>元素中未列出的所有编解码器,并且可以在会话中使用。通过将相应的<codec>元素添加到此容器,不允许使用特定编解码器。

The <codecs-excluded> element MAY have the 'direction' and 'visibility' attributes (see Section 3.3).

<codecs excluded>元素可能具有“方向”和“可见性”属性(参见第3.3节)。

Multiple <codecs-excluded> elements MUST NOT be present in a container element unless each applies to a different set of streams (e.g., one <codecs-excluded> element for incoming and one for outgoing streams). The <codecs-excluded> element MUST contain zero or more <codec> elements.

容器元素中不得存在多个<codecs excluded>元素,除非每个元素适用于不同的流集(例如,一个<codecs excluded>元素用于传入流,一个用于传出流)。<codec excluded>元素必须包含零个或多个<codec>元素。

A <codecs-excluded> element MUST NOT be used in a container that contains a <codecs-allowed> element. The absence of both elements in a container indicates no restrictions regarding codecs.

不能在包含<codecs allowed>元素的容器中使用<codecs excluded>元素。容器中缺少这两个元素表示没有关于编解码器的限制。

Merging of session-policy documents: <codecs-excluded> containers are merged as described in "Merging Sets" Section 5.1.2.

会话策略文档的合并:<codecs excluded>容器按照“合并集”第5.1.2节中的说明进行合并。

5.7. The <local-ports> Element
5.7. <localport>元素

Domains often require that a user agent only uses ports in a certain range for media streams. The <local-ports> element defines a policy for the ports a user agent can use for media. The value of this element consists of the decimal representation of a start port number and an end port number, separated by a hyphen ("-"). The start/end port numbers are the first/last port numbers that can be used, that is, the range is inclusive. The start/end port numbers must be in the range 1 to 65535 (inclusive).

域通常要求用户代理仅为媒体流使用特定范围内的端口。元素为用户代理可用于媒体的端口定义策略。此元素的值由开始端口号和结束端口号的十进制表示形式组成,以连字符(“-”)分隔。开始/结束端口号是可以使用的第一个/最后一个端口号,即范围包括在内。起始/结束端口号必须在1到65535(包括)之间。

As with other policy elements, there are values of the <local-ports> element that allow no sessions. This happens if the start port number is greater than the end port number.

与其他策略元素一样,<local ports>元素的值不允许会话。如果开始端口号大于结束端口号,则会发生这种情况。

The default value for <local-ports> is "1-65535".

<local ports>的默认值为“1-65535”。

This element MAY have the 'visibility' attribute (see Section 3.3).

该元素可能具有“可见性”属性(见第3.3节)。

Merging of session-policy documents: the permitted ranges specified by the two policies are set-intersected. If the resulting set is empty, the resulting <local-ports> element value MUST be any allowed value with a start port number greater than the end port number.

合并会话策略文档:将两个策略指定的允许范围设置为相交。如果结果集为空,则结果<local ports>元素值必须是起始端口号大于结束端口号的任何允许值。

6. Common Media Policy Data Set Elements
6. 公共媒体策略数据集元素

This section describes common XML elements that are used in session info and session policy documents to encode the media properties of SIP sessions.

本节介绍会话信息和会话策略文档中用于对SIP会话的媒体属性进行编码的常见XML元素。

6.1. The <media-type> Element
6.1. <media type>元素

The <media-type> element identifies a specific media type. The value of this element MUST be the name of a media type, as defined in Section 8.2.1 of [RFC4566], such as audio, video, text, or application.

<media type>元素标识特定的媒体类型。该元素的值必须是[RFC4566]第8.2.1节中定义的媒体类型的名称,如音频、视频、文本或应用程序。

This element MAY have the 'q' attribute (see Section 3.3).

该元素可能具有“q”属性(见第3.3节)。

If used in a session policy document inside a <media-types-allowed> element, the media types defined MAY be used in a session. If used in a session policy document inside a <media-types-excluded> element, the media types defined MUST NOT be used in a session.

如果在<media types allowed>元素内的会话策略文档中使用,则定义的媒体类型可以在会话中使用。如果在<media types excluded>元素内的会话策略文档中使用,则定义的媒体类型不得在会话中使用。

6.2. The <codec> Element
6.2. <codec>元素

The <codec> element identifies a specific codec. The content of this element MUST be a media type and subtype (e.g., audio/PCMA [RFC4856] or video/H263 [RFC4629]), possibly with parameters.

<codec>元素标识特定的编解码器。此元素的内容必须是媒体类型和子类型(例如音频/PCMA[RFC4856]或视频/H263[RFC4629]),可能带有参数。

The <codec> element MAY have the 'q' attribute (see Section 3.3).

<codec>元素可能具有“q”属性(参见第3.3节)。

If used in a session policy document inside a <codecs-allowed> element, the codec defined MAY be used in a session. If used in a session policy document inside a <codecs-excluded> element, the codec defined MUST NOT be used in a session.

如果在<codecs allowed>元素内的会话策略文档中使用,则定义的编解码器可以在会话中使用。如果在<codecs excluded>元素内的会话策略文档中使用,则定义的编解码器不得在会话中使用。

The <codec> element MUST contain one <media-type-subtype> element and MAY contain multiple optional <mime-parameter> elements.

<codec>元素必须包含一个<media type subtype>元素,并且可以包含多个可选的<mime parameter>元素。

6.2.1. The <media-type-subtype> Element
6.2.1. <media-type-subtype>元素

The <media-type-subtype> element contains a media type and subtype that identifies a media format [RFC4566] (e.g., a codec). For audio and video streams, the value of this element MUST be a media type and subtype that is registered as an RTP Payload Type [RFC4855] separated by a forward slash ("/"), e.g., audio/PCMA, audio/G726-16 [RFC4856], or video/H263 [RFC4629]. For other media types, SDP sometimes encodes the actual media format as part of the transport protocol field (e.g., TCP/MSRP [RFC4975] and TCP/TLS/BFCP [RFC4583]). In these cases, this element MUST contain the media type and the media format part (e.g., message/msrp and application/bfcp).

<media type subtype>元素包含标识媒体格式[RFC4566](例如编解码器)的媒体类型和子类型。对于音频和视频流,此元素的值必须是注册为RTP有效负载类型[RFC4855]的媒体类型和子类型,以正斜杠(“/”)分隔,例如音频/PCMA、音频/G726-16[RFC4856]或视频/H263[RFC4629]。对于其他媒体类型,SDP有时将实际媒体格式编码为传输协议字段的一部分(例如,TCP/MSRP[RFC4975]和TCP/TLS/BFCP[RFC4583])。在这些情况下,此元素必须包含媒体类型和媒体格式部分(例如,消息/msrp和应用程序/bfcp)。

6.2.2. The <mime-parameter> Element
6.2.2. <mime参数>元素

The <mime-parameter> element may be needed for some codecs to identify a particular encoding or profile. The value of this element MUST be a name-value pair containing the name and the value of a media type parameter for the codec [RFC4855]. The name and value are separated by an equals sign ("="). For example, the parameter "profile=0" can be used to specify a specific profile for the codec video/H263-2000 [RFC4629].

某些编解码器可能需要<mime parameter>元素来识别特定的编码或配置文件。此元素的值必须是名称-值对,其中包含编解码器[RFC4855]的媒体类型参数的名称和值。名称和值由等号(=)分隔。例如,参数“profile=0”可用于指定编解码器视频/H263-2000[RFC4629]的特定配置文件。

6.3. The <max-bw> Element
6.3. <max bw>元素

The <max-bw> element defines the overall maximum bandwidth in kilobits per second (i.e., 1024 bits per second) an entity can/will use for media streams at any point in time. It defines an upper limit for the total bandwidth an entity can/will use for the transmission of media streams. The limit corresponds to the sum of the maximum session bandwidth of all sessions a UA may set up in parallel.

<max bw>元素定义实体在任何时间点可以/将用于媒体流的总最大带宽,单位为千比特/秒(即1024比特/秒)。它定义了实体可以/将用于传输媒体流的总带宽的上限。该限制对应于UA可并行设置的所有会话的最大会话带宽之和。

The bandwidth limit given in the <max-bw> element includes the bandwidth needed for lower-layer transport and network protocols (e.g., UDP and IP).

<max bw>元素中给出的带宽限制包括较低层传输和网络协议(如UDP和IP)所需的带宽。

The <max-bw> element MAY have the 'direction' attribute (see Section 3.3).

<max bw>元素可能具有“方向”属性(见第3.3节)。

If used in a <session-policy> element, the <max-bw> element MAY also have the 'visibility' attribute (see Section 3.3).

如果在<session policy>元素中使用,<max bw>元素也可能具有“可见性”属性(参见第3.3节)。

If the <max-bw> element occurs multiple times in a container element, each instance MUST apply to a different set of media streams (i.e., one <max-bw> element for outgoing and one for incoming streams).

如果容器元素中多次出现<max bw>元素,则每个实例必须应用于不同的媒体流集(即,一个<max bw>元素用于传出流,一个用于传入流)。

Merging of session-policy documents: the lowest <max-bw> value MUST be used.

合并会话策略文档:必须使用最低的<max bw>值。

6.4. The <max-session-bw> Element
6.4. <max session bw>元素

The <max-session-bw> element defines the maximum bandwidth in kilobits per second (i.e., 1024 bits per second) an entity can/will use for media streams in the described session. It defines an upper limit for the total bandwidth of a single session. This limit corresponds to the sum of the maximum stream bandwidth of all media streams in a session.

<max session bw>元素定义实体在所述会话中可以/将用于媒体流的最大带宽,单位为千比特/秒(即1024比特/秒)。它定义了单个会话的总带宽上限。此限制对应于会话中所有媒体流的最大流带宽之和。

The bandwidth limit given in the <max-session-bw> element includes the bandwidth needed for lower-layer transport and network protocols (e.g., UDP and IP).

<max session bw>元素中给出的带宽限制包括较低层传输和网络协议(如UDP和IP)所需的带宽。

The <max-session-bw> element MAY have the 'direction' attribute (see Section 3.3).

<max session bw>元素可能具有“direction”属性(参见第3.3节)。

If used in a <session-policy> element, the <max-session-bw> element MAY also have the 'visibility' attribute (see Section 3.3).

如果在<session policy>元素中使用,<max session bw>元素也可能具有“可见性”属性(参见第3.3节)。

If the <max-session-bw> element occurs multiple times in a container element, each instance MUST apply to a different set of media streams (i.e., one <max-session-bw> element for outgoing and one for incoming streams).

如果容器元素中多次出现<max session bw>元素,则每个实例必须应用于不同的媒体流集(即,一个<max session bw>元素用于传出流,一个用于传入流)。

Merging of session-policy documents: the lowest <max-session-bw> value MUST be used.

合并会话策略文档:必须使用最低的<max session bw>值。

6.5. The <max-stream-bw> Element
6.5. <max stream bw>元素

The <max-stream-bw> element defines the maximum bandwidth in kilobits per second (i.e., 1024 bits per second) an entity can/will use for each media stream in the described session.

<max stream bw>元素定义实体在所述会话中可以/将用于每个媒体流的最大带宽,单位为千比特/秒(即1024比特/秒)。

The bandwidth limit given in the <max-stream-bw> element includes the bandwidth needed as encapsulated in IP (i.e., the RTP, UDP, and IP overheads are included).

<max stream bw>元素中给出的带宽限制包括封装在IP中所需的带宽(即,包括RTP、UDP和IP开销)。

The <max-stream-bw> element MAY have the 'direction' and 'media-type' attributes (see Section 3.3).

<max stream bw>元素可能具有“方向”和“媒体类型”属性(见第3.3节)。

If used in a <session-policy> element, the <max-stream-bw> element MAY also have the visibility attribute (see Section 3.3).

如果在<session policy>元素中使用,<max stream bw>元素也可能具有可见性属性(参见第3.3节)。

If used in a <session-info> element, the <max-stream-bw> element MAY also have the label attribute.

如果在<session info>元素中使用,<max stream bw>元素也可能具有label属性。

The media-type attribute is used to define that the <max-stream-bw> element only applies to streams of a certain media type (e.g., audio streams).

媒体类型属性用于定义<max stream bw>元素仅适用于特定媒体类型的流(例如音频流)。

The <max-stream-bw> element is used to define a bandwidth limit for a specific media stream. The use of this attribute requires that the <stream> element that represents the media stream to which this bandwidth limit applies also has a 'label' attribute. A <max-stream-bw> element with a 'label' attribute applies only to the stream element that has a 'label' attribute with the same value. If no matching <stream> element exists, then the <max-stream-bw> element MUST be ignored.

<max stream bw>元素用于定义特定媒体流的带宽限制。使用此属性要求表示此带宽限制适用的媒体流的<stream>元素也具有“label”属性。具有“label”属性的<max stream bw>元素仅适用于具有相同值的“label”属性的流元素。如果不存在匹配的<stream>元素,则必须忽略<max stream bw>元素。

If the <max-stream-bw> element occurs multiple times in a container element, each instance MUST apply to a different set of media streams (i.e., one <max-stream-bw> element for outgoing and one for incoming streams).

如果容器元素中多次出现<max stream bw>元素,则每个实例必须应用于不同的媒体流集(即,一个<max stream bw>元素用于传出流,一个用于传入流)。

Merging of session-policy documents: the lowest <max-stream-bw> value MUST be used.

合并会话策略文档:必须使用最低的<max stream bw>值。

6.6. The <qos-dscp> Element
6.6. <qos dscp>元素

The <qos-dscp> element contains a Differentiated Services Codepoint (DSCP) [RFC2474] value that should be used to populate the IP DS field of media packets. The <qos-dscp> contains a decimal integer value that represents a 6-bit field and therefore ranges from 0 to 63.

<qos dscp>元素包含一个区分服务代码点(dscp)[RFC2474]值,该值应用于填充媒体数据包的IP DS字段。<qos dscp>包含一个表示6位字段的十进制整数值,因此范围为0到63。

This element MAY have the 'direction' and 'media-type' attributes (see Section 3.3)).

该元素可能具有“方向”和“媒体类型”属性(见第3.3节)。

If used in a <session-policy> element, the <qos-dscp> element MAY also have the 'visibility' attribute (see Section 3.3).

如果在<session policy>元素中使用,<qos dscp>元素也可能具有“可见性”属性(参见第3.3节)。

The 'media-type' attribute is used to specify that the <qos-dscp> element only applies to streams of a certain media type (e.g., audio streams).

“媒体类型”属性用于指定<qos dscp>元素仅适用于特定媒体类型的流(例如音频流)。

The <qos-dscp> element is optional and MAY occur multiple times inside a container. If the <qos-dscp> element occurs multiple times, each instance MUST apply to a different media stream (i.e., one <qos-dscp> element for audio and one for video streams).

<qos dscp>元素是可选的,可以在容器中多次出现。如果<qos dscp>元素多次出现,则每个实例必须应用于不同的媒体流(即,一个<qos dscp>元素用于音频,一个用于视频流)。

Merging of session-policy documents: the local domain of the user agent has precedence over other domains and its DSCP value MUST be used. During the merging process, <qos-dscp> element values from local policy server selected as described in "Local Policy Server Selection" Section 5.1.3 are used.

合并会话策略文档:用户代理的本地域优先于其他域,必须使用其DSCP值。在合并过程中,使用“本地策略服务器选择”第5.1.3节中所述选择的本地策略服务器的<qos dscp>元素值。

6.7. The <context> Element
6.7. <context>元素

The <context> element provides context information about a session policy or session information document.

元素提供有关会话策略或会话信息文档的上下文信息。

The <context> element MAY contain multiple <contact> elements and one <info> element. It can also contain optional <policy-server-URI> and <token> elements.

<context>元素可以包含多个<contact>元素和一个<info>元素。它还可以包含可选的<policyserveruri>和<token>元素。

If used in a <session-info> element, the <context> element MAY also contain a <request-URI> element.

如果在<session info>元素中使用,<context>元素还可能包含<request URI>元素。

Merging of session-policy documents: the resulting <context> element MUST be determined by local policy.

合并会话策略文档:结果<context>元素必须由本地策略确定。

6.7.1. The <policy-server-URI> Element
6.7.1. <policyserveruri>元素

The <policy-server-URI> element contains the URI (including the URI scheme) of the policy server that has issued this policy.

<policyserveruri>元素包含发布此策略的策略服务器的URI(包括URI方案)。

6.7.2. The <contact> Element
6.7.2. <contact>元素

The <contact> element contains a URI that is a contact address (e.g., a SIP URI or mailto URI) by which a human representative of the issuer of this document can be reached.

<contact>元素包含一个URI,该URI是一个联系地址(例如,SIP URI或mailto URI),通过它可以联系到此文档发行者的人员代表。

6.7.3. The <info> Element
6.7.3. <info>元素

The <info> element provides a short textual description of the policy or session that should be intelligible to the human user.

<info>元素提供了策略或会话的简短文本描述,人类用户应该能够理解。

6.7.4. The <request-URI> Element
6.7.4. <requesturi>元素

The <request-URI> element contains the request-URI (including the URI scheme) of the dialog-initiating request of the session.

元素包含启动会话请求的对话框的请求URI(包括URI方案)。

The <request-URI> element is only permitted inside <session-info> documents and, thus, MUST NOT be included in session policy documents.

<request URI>元素只允许在<session info>文档中使用,因此不能包含在会话策略文档中。

6.7.5. The <token> Element
6.7.5. <token>元素

The <token> element provides a mechanism for a policy server to return an opaque string to a UA. Such a string is sometimes needed to construct a Policy-ID header that ensures that all policy requests concerning a single session are routed to the same policy server. The use of this token is described in "A Framework for Session Initiation Protocol (SIP) Session Policies" [RFC6794]. The syntax for the token value is defined in Section 4.4.5.1 of RFC 6794 [RFC6794], which builds on the syntax defined in Section 25.1 of RFC 3261 [RFC3261]. (Note that the token value is encodable as a SIP URI parameter value, although some characters may require escaping).

<token>元素为策略服务器向UA返回不透明字符串提供了一种机制。有时需要这样的字符串来构造策略ID头,以确保与单个会话有关的所有策略请求都路由到同一个策略服务器。“会话启动协议(SIP)会话策略框架”[RFC6794]中描述了该令牌的使用。令牌值的语法在RFC 6794[RFC6794]第4.4.5.1节中定义,该节以RFC 3261[RFC3261]第25.1节中定义的语法为基础。(请注意,令牌值可编码为SIP URI参数值,尽管某些字符可能需要转义)。

6.8. Other Session Properties
6.8. 其他会话属性

A number of additional elements have been proposed for a media property language. These elements are deemed to be outside the scope of this format. However, they may be defined in extensions of MPDF or other profile data sets.

为媒体属性语言提出了许多附加元素。这些要素被视为不在本格式的范围内。但是,它们可以在MPDF或其他配置文件数据集的扩展中定义。

o maximum number of streams

o 最大流数

o maximum number of sessions

o 最大会话数

o maximum number of streams per session

o 每个会话的最大流数

o external address and port

o 外部地址和端口

o media transport protocol

o 媒体传输协议

o outbound proxy

o 出站代理

o SIP methods

o SIP方法

o SIP option tags

o SIP选项标签

o SIP transport protocol

o SIP传输协议

o body disposition

o 身体配置

o body format

o 正文格式

o body encryption

o 正文加密

7. Examples
7. 例子
7.1. Session Policy Documents
7.1. 会议政策文件

The following example is a session policy document that allows the use of audio and video and prohibits the use of other media types. It allows the use of any codec except G.723 and G.729.

以下示例是允许使用音频和视频并禁止使用其他媒体类型的会话策略文档。它允许使用除G.723和G.729之外的任何编解码器。

  <session-policy xmlns="urn:ietf:params:xml:ns:mediadataset">
    <context>
   <policy-server-URI>sips:policy@biloxi.example.com</policy-server-URI>
      <contact>sip:policy_manager@example.com</contact>
      <info>Access network policies</info>
    </context>
    <media-types-allowed>
      <media-type>audio</media-type>
      <media-type>video</media-type>
    </media-types-allowed>
    <codecs-excluded>
      <codec>
        <media-type-subtype>audio/G729</media-type-subtype>
      </codec>
      <codec>
        <media-type-subtype>audio/G723</media-type-subtype>
      </codec>
    </codecs-excluded>
  </session-policy>
        
  <session-policy xmlns="urn:ietf:params:xml:ns:mediadataset">
    <context>
   <policy-server-URI>sips:policy@biloxi.example.com</policy-server-URI>
      <contact>sip:policy_manager@example.com</contact>
      <info>Access network policies</info>
    </context>
    <media-types-allowed>
      <media-type>audio</media-type>
      <media-type>video</media-type>
    </media-types-allowed>
    <codecs-excluded>
      <codec>
        <media-type-subtype>audio/G729</media-type-subtype>
      </codec>
      <codec>
        <media-type-subtype>audio/G723</media-type-subtype>
      </codec>
    </codecs-excluded>
  </session-policy>
        
7.2. Session Information Documents
7.2. 会议资料文件

The following examples contain session descriptions and the session information documents that represent these sessions.

以下示例包含会话描述和表示这些会话的会话信息文档。

7.2.1. Example 1
7.2.1. 例1

In this example, a session info document is created based on one session description. This session info document would be created, for example, by a UA that has composed an offer and is now contacting a policy server.

在此示例中,基于一个会话描述创建会话信息文档。例如,此会话信息文档将由一个UA创建,该UA已经编写了一个报价,现在正在联系策略服务器。

Local session description:

本地会话说明:

v=0 o=alice 2890844526 2890844526 IN IP4 host.somewhere.example s= c=IN IP4 host.somewhere.example t=0 0 m=audio 49562 RTP/AVP 0 1 3

v=0 o=IP4主机中的alice 2890844526 2890844526.somewhere.example s=c=IP4主机中的somewhere.example t=0 0 m=audio 49562 RTP/AVP 0 1 3

   a=rtpmap:0 PCMU/8000
   a=rtpmap:1 1016/8000
   a=rtpmap:3 GSM/8000
   m=video 51234 RTP/AVP 31 34
   a=rtpmap:31 H261/90000
   a=rtpmap:34 H263/90000
        
   a=rtpmap:0 PCMU/8000
   a=rtpmap:1 1016/8000
   a=rtpmap:3 GSM/8000
   m=video 51234 RTP/AVP 31 34
   a=rtpmap:31 H261/90000
   a=rtpmap:34 H263/90000
        

MPDF document:

强积金文件:

   <session-info xmlns="urn:ietf:params:xml:ns:mediadataset">
     <context>
       <contact>sip:alice@somewhere.example</contact>
       <info>session information</info>
     </context>
     <streams>
       <stream>
         <media-type>audio</media-type>
         <codec q="1.0">
           <media-type-subtype>audio/PCMU</media-type-subtype>
         </codec>
         <codec q="0.9">
           <media-type-subtype>audio/1016</media-type-subtype>
         </codec>
         <codec q="0.8">
           <media-type-subtype>audio/GSM</media-type-subtype>
         </codec>
         <local-host-port>host.somewhere.example:49562</local-host-port>
       </stream>
       <stream>
         <media-type>video</media-type>
         <codec q="1.0">
           <media-type-subtype>video/H261</media-type-subtype>
         </codec>
         <codec q="0.9">
           <media-type-subtype>video/H263</media-type-subtype>
         </codec>
         <local-host-port>host.somewhere.example:51234</local-host-port>
       </stream>
     </streams>
   </session-info>
        
   <session-info xmlns="urn:ietf:params:xml:ns:mediadataset">
     <context>
       <contact>sip:alice@somewhere.example</contact>
       <info>session information</info>
     </context>
     <streams>
       <stream>
         <media-type>audio</media-type>
         <codec q="1.0">
           <media-type-subtype>audio/PCMU</media-type-subtype>
         </codec>
         <codec q="0.9">
           <media-type-subtype>audio/1016</media-type-subtype>
         </codec>
         <codec q="0.8">
           <media-type-subtype>audio/GSM</media-type-subtype>
         </codec>
         <local-host-port>host.somewhere.example:49562</local-host-port>
       </stream>
       <stream>
         <media-type>video</media-type>
         <codec q="1.0">
           <media-type-subtype>video/H261</media-type-subtype>
         </codec>
         <codec q="0.9">
           <media-type-subtype>video/H263</media-type-subtype>
         </codec>
         <local-host-port>host.somewhere.example:51234</local-host-port>
       </stream>
     </streams>
   </session-info>
        
7.2.2. Example 2
7.2.2. 例2

In this example, a session info document is created that represents two session descriptions (i.e., an offer and answer). This session info document would be created, for example, by a UA that has received an answer from another UA and is now contacting a policy server.

在此示例中,创建了一个会话信息文档,该文档表示两个会话描述(即,提供和回答)。例如,此会话信息文档将由一个UA创建,该UA已收到另一个UA的答复,现在正在联系策略服务器。

Local session description:

本地会话说明:

   v=0
   o=alice 2890844526 2890844526 IN IP4 host.somewhere.example
   s=
   c=IN IP4 host.somewhere.example
   t=0 0
   m=audio 49562 RTP/AVP 0 1 3
   a=rtpmap:0 PCMU/8000
   a=rtpmap:1 1016/8000
   a=rtpmap:3 GSM/8000
   m=video 51234 RTP/AVP 31 34
   a=rtpmap:31 H261/90000
   a=rtpmap:34 H263/90000
        
   v=0
   o=alice 2890844526 2890844526 IN IP4 host.somewhere.example
   s=
   c=IN IP4 host.somewhere.example
   t=0 0
   m=audio 49562 RTP/AVP 0 1 3
   a=rtpmap:0 PCMU/8000
   a=rtpmap:1 1016/8000
   a=rtpmap:3 GSM/8000
   m=video 51234 RTP/AVP 31 34
   a=rtpmap:31 H261/90000
   a=rtpmap:34 H263/90000
        

Remote session description:

远程会话说明:

   v=0
   o=bob 2890844730 2890844730 IN IP4 host.anywhere.example
   s=
   c=IN IP4 host.anywhere.example
   t=0 0
   m=audio 52124 RTP/AVP 0 3
   a=rtpmap:0 PCMU/8000
   a=rtpmap:3 GSM/8000
   m=video 50286 RTP/AVP 31
   a=rtpmap:31 H261/90000
        
   v=0
   o=bob 2890844730 2890844730 IN IP4 host.anywhere.example
   s=
   c=IN IP4 host.anywhere.example
   t=0 0
   m=audio 52124 RTP/AVP 0 3
   a=rtpmap:0 PCMU/8000
   a=rtpmap:3 GSM/8000
   m=video 50286 RTP/AVP 31
   a=rtpmap:31 H261/90000
        

MPDF document that represents the local and the remote session description:

表示本地和远程会话描述的MPDF文档:

  <session-info xmlns="urn:ietf:params:xml:ns:mediadataset">
    <context>
      <contact>sip:alice@somewhere.example</contact>
      <info>session information</info>
    </context>
    <streams>
      <stream>
        <media-type>audio</media-type>
        <codec q="1.0">
          <media-type-subtype>audio/PCMU</media-type-subtype>
        </codec>
        <codec q="0.9">
          <media-type-subtype>audio/GSM</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:49562</local-host-port>
        <remote-host-port>host.anywhere.example:52124</remote-host-port>
      </stream>
        
  <session-info xmlns="urn:ietf:params:xml:ns:mediadataset">
    <context>
      <contact>sip:alice@somewhere.example</contact>
      <info>session information</info>
    </context>
    <streams>
      <stream>
        <media-type>audio</media-type>
        <codec q="1.0">
          <media-type-subtype>audio/PCMU</media-type-subtype>
        </codec>
        <codec q="0.9">
          <media-type-subtype>audio/GSM</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:49562</local-host-port>
        <remote-host-port>host.anywhere.example:52124</remote-host-port>
      </stream>
        
      <stream>
        <media-type>video</media-type>
        <codec q="1.0">
          <media-type-subtype>video/H261</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:51234</local-host-port>
        <remote-host-port>host.anywhere.example:50286</remote-host-port>
      </stream>
    </streams>
  </session-info>
        
      <stream>
        <media-type>video</media-type>
        <codec q="1.0">
          <media-type-subtype>video/H261</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:51234</local-host-port>
        <remote-host-port>host.anywhere.example:50286</remote-host-port>
      </stream>
    </streams>
  </session-info>
        

The following MPDF document is a modified version of the above document, which can be returned by a policy server. This document reflects a policy that defines a maximum session bandwidth of 192 kbit and a maximum bandwidth for the H261 video stream of 128 kbit.

以下MPDF文档是上述文档的修改版本,可由策略服务器返回。本文档反映了一个策略,该策略定义了192 kbit的最大会话带宽和128 kbit的H261视频流的最大带宽。

  <session-info xmlns="urn:ietf:params:xml:ns:mediadataset">
    <context>
      <contact>sip:alice@somewhere.example</contact>
      <info>modified session information</info>
    </context>
    <streams>
      <stream label='1'>
        <media-type>audio</media-type>
        <codec q="1.0">
          <media-type-subtype>audio/PCMU</media-type-subtype>
        </codec>
        <codec q="0.9">
          <media-type-subtype>audio/GSM</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:49562</local-host-port>
        <remote-host-port>host.anywhere.example:52124</remote-host-port>
      </stream>
      <stream label='2'>
        <media-type>video</media-type>
        <codec q="1.0">
          <media-type-subtype>video/H261</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:51234</local-host-port>
        <remote-host-port>host.anywhere.example:50286</remote-host-port>
      </stream>
    </streams>
    <max-stream-bw label='2'>128</max-stream-bw>
    <max-session-bw>192</max-session-bw>
  </session-info>
        
  <session-info xmlns="urn:ietf:params:xml:ns:mediadataset">
    <context>
      <contact>sip:alice@somewhere.example</contact>
      <info>modified session information</info>
    </context>
    <streams>
      <stream label='1'>
        <media-type>audio</media-type>
        <codec q="1.0">
          <media-type-subtype>audio/PCMU</media-type-subtype>
        </codec>
        <codec q="0.9">
          <media-type-subtype>audio/GSM</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:49562</local-host-port>
        <remote-host-port>host.anywhere.example:52124</remote-host-port>
      </stream>
      <stream label='2'>
        <media-type>video</media-type>
        <codec q="1.0">
          <media-type-subtype>video/H261</media-type-subtype>
        </codec>
        <local-host-port>host.somewhere.example:51234</local-host-port>
        <remote-host-port>host.anywhere.example:50286</remote-host-port>
      </stream>
    </streams>
    <max-stream-bw label='2'>128</max-stream-bw>
    <max-session-bw>192</max-session-bw>
  </session-info>
        
8. RELAX NG Definition
8. 放松NG定义
   <?xml version="1.0"?>
       <grammar xmlns="http://relaxng.org/ns/structure/1.0"
        ns="urn:ietf:params:xml:ns:mediadataset"
        datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
        
   <?xml version="1.0"?>
       <grammar xmlns="http://relaxng.org/ns/structure/1.0"
        ns="urn:ietf:params:xml:ns:mediadataset"
        datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
        
          <start>
             <choice>
                   <element name="session-info">
                       <interleave>
                       <optional>
                           <ref name="ElementStreams"/>
                       </optional>
                       <zeroOrMore>
                           <ref name="ElementMaxBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxSessionBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxStreamBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMediaIntermediaries"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementQoSDSCP"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementAny"/>
                       </zeroOrMore>
                       </interleave>
                   </element>
        
          <start>
             <choice>
                   <element name="session-info">
                       <interleave>
                       <optional>
                           <ref name="ElementStreams"/>
                       </optional>
                       <zeroOrMore>
                           <ref name="ElementMaxBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxSessionBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxStreamBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMediaIntermediaries"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementQoSDSCP"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementAny"/>
                       </zeroOrMore>
                       </interleave>
                   </element>
        
                   <element name="session-policy">
                       <interleave>
                       <optional>
                           <ref name="ElementContext"/>
                       </optional>
                       <optional>
                           <ref name="ElementLocalPorts"/>
                       </optional>
                       <zeroOrMore>
                           <ref name="ElementMediaTypesAllowed"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMediaTypesExcluded"/>
        
                   <element name="session-policy">
                       <interleave>
                       <optional>
                           <ref name="ElementContext"/>
                       </optional>
                       <optional>
                           <ref name="ElementLocalPorts"/>
                       </optional>
                       <zeroOrMore>
                           <ref name="ElementMediaTypesAllowed"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMediaTypesExcluded"/>
        
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementCodecsAllowed"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementCodecsExcluded"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxSessionBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxStreamBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementQoSDSCP"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementAny"/>
                       </zeroOrMore>
                       </interleave>
                  </element>
               </choice>
           </start>
        
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementCodecsAllowed"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementCodecsExcluded"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxSessionBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementMaxStreamBandwidth"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementQoSDSCP"/>
                       </zeroOrMore>
                       <zeroOrMore>
                           <ref name="ElementAny"/>
                       </zeroOrMore>
                       </interleave>
                  </element>
               </choice>
           </start>
        
           <define name="ElementMediaTypesAllowed">
               <element name="media-types-allowed">
                   <ref name="PolicyGeneralAttributes"/>
                   <zeroOrMore>
                      <ref name="ElementMediaType"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementMediaTypesAllowed">
               <element name="media-types-allowed">
                   <ref name="PolicyGeneralAttributes"/>
                   <zeroOrMore>
                      <ref name="ElementMediaType"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementMediaTypesExcluded">
               <element name="media-types-excluded">
                   <ref name="PolicyGeneralAttributes"/>
                    <zeroOrMore>
                      <ref name="ElementMediaType"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementMediaTypesExcluded">
               <element name="media-types-excluded">
                   <ref name="PolicyGeneralAttributes"/>
                    <zeroOrMore>
                      <ref name="ElementMediaType"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementMediaType">
               <element name="media-type">
                   <data type="string" />
        
           <define name="ElementMediaType">
               <element name="media-type">
                   <data type="string" />
        
                   <optional>
                     <ref name="AttributeQ"/>
                   </optional>
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
               </element>
           </define>
        
                   <optional>
                     <ref name="AttributeQ"/>
                   </optional>
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
               </element>
           </define>
        
           <define name="ElementCodecsAllowed">
               <element name="codecs-allowed">
                 <ref name="PolicyGeneralAttributes"/>
                   <zeroOrMore>
                      <ref name="ElementCodec"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementCodecsAllowed">
               <element name="codecs-allowed">
                 <ref name="PolicyGeneralAttributes"/>
                   <zeroOrMore>
                      <ref name="ElementCodec"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementCodecsExcluded">
               <element name="codecs-excluded">
                 <ref name="PolicyGeneralAttributes"/>
                   <zeroOrMore>
                      <ref name="ElementCodec"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementCodecsExcluded">
               <element name="codecs-excluded">
                 <ref name="PolicyGeneralAttributes"/>
                   <zeroOrMore>
                      <ref name="ElementCodec"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementCodec">
               <element name="codec">
                   <optional>
                     <ref name="AttributeQ"/>
                   </optional>
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
                   <element name="media-type-subtype">
                     <data type="string" />
                   </element>
                   <zeroOrMore>
                     <element name="mime-parameter">
                       <data type="string" />
                     </element>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementCodec">
               <element name="codec">
                   <optional>
                     <ref name="AttributeQ"/>
                   </optional>
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
                   <element name="media-type-subtype">
                     <data type="string" />
                   </element>
                   <zeroOrMore>
                     <element name="mime-parameter">
                       <data type="string" />
                     </element>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementStreams">
               <element name="streams">
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
                   <zeroOrMore>
                     <ref name="ElementStream"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementStreams">
               <element name="streams">
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
                   <zeroOrMore>
                     <ref name="ElementStream"/>
                   </zeroOrMore>
               </element>
           </define>
        
           <define name="ElementStream">
               <element name="stream">
                   <optional>
                     <ref name="AttributeDirection"/>
                   </optional>
                   <optional>
                     <ref name="AttributeLabel"/>
                   </optional>
                   <optional>
                     <ref name="AttributeEnabled"/>
                   </optional>
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
                   <ref name="ElementMediaType"/>
                   <oneOrMore>
                     <ref name="ElementCodec"/>
                   </oneOrMore>
                   <element name="local-host-port">
                     <data type="string" />
                   </element>
                   <optional>
                     <element name="remote-host-port">
                       <data type="string" />
                     </element>
                   </optional>
               </element>
           </define>
        
           <define name="ElementStream">
               <element name="stream">
                   <optional>
                     <ref name="AttributeDirection"/>
                   </optional>
                   <optional>
                     <ref name="AttributeLabel"/>
                   </optional>
                   <optional>
                     <ref name="AttributeEnabled"/>
                   </optional>
                   <optional>
                     <ref name="AttributeGeneric"/>
                   </optional>
                   <ref name="ElementMediaType"/>
                   <oneOrMore>
                     <ref name="ElementCodec"/>
                   </oneOrMore>
                   <element name="local-host-port">
                     <data type="string" />
                   </element>
                   <optional>
                     <element name="remote-host-port">
                       <data type="string" />
                     </element>
                   </optional>
               </element>
           </define>
        
           <define name="ElementMaxBandwidth">
              <element name="max-bw">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
               </element>
           </define>
        
           <define name="ElementMaxBandwidth">
              <element name="max-bw">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
               </element>
           </define>
        
           <define name="ElementMaxSessionBandwidth">
               <element name="max-session-bw">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
               </element>
           </define>
        
           <define name="ElementMaxSessionBandwidth">
               <element name="max-session-bw">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
               </element>
           </define>
        
           <define name="ElementMaxStreamBandwidth">
               <element name="max-stream-bw">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
                   <optional>
                     <ref name="AttributeMediaType"/>
                   </optional>
                   <optional>
                     <ref name="AttributeLabel"/>
                   </optional>
               </element>
           </define>
        
           <define name="ElementMaxStreamBandwidth">
               <element name="max-stream-bw">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
                   <optional>
                     <ref name="AttributeMediaType"/>
                   </optional>
                   <optional>
                     <ref name="AttributeLabel"/>
                   </optional>
               </element>
           </define>
        
           <define name="ElementMediaIntermediaries">
               <element name="media-intermediaries">
                  <ref name="PolicyGeneralAttributes"/>
                   <oneOrMore>
                     <choice>
                       <element name="fixed-intermediary">
                         <element name="int-host-port">
                           <data type="string" />
                         </element>
                         <zeroOrMore>
                           <element name="int-addl-port">
                             <data type="integer" />
                           </element>
                         </zeroOrMore>
                       </element>
        
           <define name="ElementMediaIntermediaries">
               <element name="media-intermediaries">
                  <ref name="PolicyGeneralAttributes"/>
                   <oneOrMore>
                     <choice>
                       <element name="fixed-intermediary">
                         <element name="int-host-port">
                           <data type="string" />
                         </element>
                         <zeroOrMore>
                           <element name="int-addl-port">
                             <data type="integer" />
                           </element>
                         </zeroOrMore>
                       </element>
        
                       <element name="turn-intermediary">
                         <element name="int-host-port">
                           <data type="string" />
                         </element>
                         <zeroOrMore>
                           <element name="int-addl-port">
                             <data type="integer" />
                           </element>
                         </zeroOrMore>
                         <zeroOrMore>
                           <element name="shared-secret">
                             <data type="string" />
        
                       <element name="turn-intermediary">
                         <element name="int-host-port">
                           <data type="string" />
                         </element>
                         <zeroOrMore>
                           <element name="int-addl-port">
                             <data type="integer" />
                           </element>
                         </zeroOrMore>
                         <zeroOrMore>
                           <element name="shared-secret">
                             <data type="string" />
        
                           </element>
                         </zeroOrMore>
                       </element>
                     </choice>
                   </oneOrMore>
               </element>
           </define>
        
                           </element>
                         </zeroOrMore>
                       </element>
                     </choice>
                   </oneOrMore>
               </element>
           </define>
        
           <define name="ElementQoSDSCP">
               <element name="qos-dscp">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
                   <optional>
                     <ref name="AttributeMediaType"/>
                   </optional>
               </element>
           </define>
        
           <define name="ElementQoSDSCP">
               <element name="qos-dscp">
                   <data type="integer" />
                   <ref name="PolicyGeneralAttributes"/>
                   <optional>
                     <ref name="AttributeMediaType"/>
                   </optional>
               </element>
           </define>
        
           <define name="ElementLocalPorts">
               <element name="local-ports">
                   <data type="string" />
                   <interleave>
                     <optional>
                       <ref name="AttributeVisibility"/>
                     </optional>
                     <optional>
                       <ref name="AttributeGeneric"/>
                     </optional>
                  </interleave>
               </element>
           </define>
        
           <define name="ElementLocalPorts">
               <element name="local-ports">
                   <data type="string" />
                   <interleave>
                     <optional>
                       <ref name="AttributeVisibility"/>
                     </optional>
                     <optional>
                       <ref name="AttributeGeneric"/>
                     </optional>
                  </interleave>
               </element>
           </define>
        
           <define name="ElementContext">
               <element name="context">
                   <interleave>
                   <optional>
                     <element name="info">
                       <data type="string" />
                     </element>
                   </optional>
                    <optional>
                    <element name="policy-server-URI">
                       <data type="string" />
                     </element>
                   </optional>
                    <optional>
                    <element name="token">
                       <data type="token" />
        
           <define name="ElementContext">
               <element name="context">
                   <interleave>
                   <optional>
                     <element name="info">
                       <data type="string" />
                     </element>
                   </optional>
                    <optional>
                    <element name="policy-server-URI">
                       <data type="string" />
                     </element>
                   </optional>
                    <optional>
                    <element name="token">
                       <data type="token" />
        
                     </element>
                   </optional>
                   <optional>
                    <element name="request-URI">
                       <data type="string" />
                     </element>
                   </optional>
                    <zeroOrMore>
                     <element name="contact">
                        <data type="string" />
                     </element>
                   </zeroOrMore>
                   </interleave>
               </element>
           </define>
        
                     </element>
                   </optional>
                   <optional>
                    <element name="request-URI">
                       <data type="string" />
                     </element>
                   </optional>
                    <zeroOrMore>
                     <element name="contact">
                        <data type="string" />
                     </element>
                   </zeroOrMore>
                   </interleave>
               </element>
           </define>
        
           <define name="PolicyGeneralAttributes">
                     <optional>
                       <ref name="AttributeVisibility"/>
                     </optional>
                     <optional>
                       <ref name="AttributeDirection"/>
                     </optional>
                     <optional>
                       <ref name="AttributeGeneric"/>
                     </optional>
           </define>
        
           <define name="PolicyGeneralAttributes">
                     <optional>
                       <ref name="AttributeVisibility"/>
                     </optional>
                     <optional>
                       <ref name="AttributeDirection"/>
                     </optional>
                     <optional>
                       <ref name="AttributeGeneric"/>
                     </optional>
           </define>
        
          <define name="AttributeVisibility">
              <attribute name="visibility">
                <choice>
                  <value>hidden</value>
                  <value>visible</value>
                </choice>
              </attribute>
          </define>
        
          <define name="AttributeVisibility">
              <attribute name="visibility">
                <choice>
                  <value>hidden</value>
                  <value>visible</value>
                </choice>
              </attribute>
          </define>
        
          <define name="AttributeDirection">
              <attribute name="direction">
                <choice>
                  <value>sendonly</value>
                  <value>recvonly</value>
                  <value>sendrecv</value>
                </choice>
              </attribute>
          </define>
        
          <define name="AttributeDirection">
              <attribute name="direction">
                <choice>
                  <value>sendonly</value>
                  <value>recvonly</value>
                  <value>sendrecv</value>
                </choice>
              </attribute>
          </define>
        
          <define name="AttributeQ">
              <attribute name="q">
                <data type="decimal" />
              </attribute>
          </define>
        
          <define name="AttributeQ">
              <attribute name="q">
                <data type="decimal" />
              </attribute>
          </define>
        
          <define name="AttributeMediaType">
              <attribute name="media-type">
                <data type="string" />
              </attribute>
          </define>
        
          <define name="AttributeMediaType">
              <attribute name="media-type">
                <data type="string" />
              </attribute>
          </define>
        
          <define name="AttributeLabel">
              <attribute name="label">
                <data type="string" />
              </attribute>
          </define>
        
          <define name="AttributeLabel">
              <attribute name="label">
                <data type="string" />
              </attribute>
          </define>
        
          <define name="AttributeEnabled">
              <attribute name="enabled">
                <data type="boolean" />
              </attribute>
          </define>
        
          <define name="AttributeEnabled">
              <attribute name="enabled">
                <data type="boolean" />
              </attribute>
          </define>
        
           <define name="AttributeGeneric">
               <zeroOrMore>
                <attribute>
                 <anyName>
                  <except>
                   <name ns="">visibility</name>
                   <name ns="">direction</name>
                   <name ns="">q</name>
                   <name ns="">media-type</name>
                   <name ns="">label</name>
                   <name ns="">enabled</name>
                  </except>
                 </anyName>
                </attribute>
               </zeroOrMore>
           </define>
        
           <define name="AttributeGeneric">
               <zeroOrMore>
                <attribute>
                 <anyName>
                  <except>
                   <name ns="">visibility</name>
                   <name ns="">direction</name>
                   <name ns="">q</name>
                   <name ns="">media-type</name>
                   <name ns="">label</name>
                   <name ns="">enabled</name>
                  </except>
                 </anyName>
                </attribute>
               </zeroOrMore>
           </define>
        
           <define name="ElementAny">
             <element>
               <anyName>
                 <except>
                   <name>context</name>
                   <name>streams</name>
                   <name>max-bw</name>
        
           <define name="ElementAny">
             <element>
               <anyName>
                 <except>
                   <name>context</name>
                   <name>streams</name>
                   <name>max-bw</name>
        
                   <name>max-session-bw</name>
                   <name>max-stream-bw</name>
                   <name>media-intermediaries</name>
                   <name>qos-dscp</name>
                   <name>local-ports</name>
                   <name>media-types-allowed</name>
                   <name>media-types-excluded</name>
                   <name>media-type</name>
                   <name>codecs-allowed</name>
                   <name>codecs-excluded</name>
                 </except>
               </anyName>
               <ref name="anyExtension"/>
             </element>
           </define>
        
                   <name>max-session-bw</name>
                   <name>max-stream-bw</name>
                   <name>media-intermediaries</name>
                   <name>qos-dscp</name>
                   <name>local-ports</name>
                   <name>media-types-allowed</name>
                   <name>media-types-excluded</name>
                   <name>media-type</name>
                   <name>codecs-allowed</name>
                   <name>codecs-excluded</name>
                 </except>
               </anyName>
               <ref name="anyExtension"/>
             </element>
           </define>
        
           <define name="anyExtension">
             <zeroOrMore>
               <choice>
                 <element>
                   <anyName/>
                   <ref name="anyExtension"/>
                 </element>
                 <attribute>
                   <anyName/>
                 </attribute>
                 <text/>
               </choice>
             </zeroOrMore>
           </define>
        
           <define name="anyExtension">
             <zeroOrMore>
               <choice>
                 <element>
                   <anyName/>
                   <ref name="anyExtension"/>
                 </element>
                 <attribute>
                   <anyName/>
                 </attribute>
                 <text/>
               </choice>
             </zeroOrMore>
           </define>
        
       </grammar>
        
       </grammar>
        
9. Security Considerations
9. 安全考虑

Section 5 of [RFC6794] discusses security aspects related to the transfer of session policy information between user agents and policy servers, including their authentication and the use of TLS between them. In particular, a UA needs to check the server's certificate and only accept policies from severs from which the UA is configured to accept policies. Section 7 of RFC 3470 [RFC3470] provides general security considerations regarding the transport of XML documents in network protocols. Session info and session policy information can be sensitive information. The protocol used to distribute session info and session policy documents SHOULD ensure authentication, confidentiality, and message integrity. The use of [RFC6795] to distribute session info and session policy document meets these requirements.

[RFC6794]的第5节讨论了与用户代理和策略服务器之间的会话策略信息传输相关的安全方面,包括它们之间的身份验证和TLS的使用。特别是,UA需要检查服务器的证书,并且只接受来自UA配置为接受策略的服务器的策略。RFC 3470[RFC3470]第7节提供了有关网络协议中XML文档传输的一般安全注意事项。会话信息和会话策略信息可能是敏感信息。用于分发会话信息和会话策略文档的协议应确保身份验证、机密性和消息完整性。使用[RFC6795]分发会话信息和会话策略文档符合这些要求。

An attacker could attempt to modify session policy documents that were sent to a client so that their processing by the client would be more costly (e.g., in terms of merging policies). The attacker could also attempt to create its own fake policy documents and send them to the client with the same purpose or in order to get the client to comply with those fake policies as part of a Denial-of-Service (DoS) attack. The protocol used to distribute session policy documents SHOULD ensure authentication, privacy, and message integrity. The use of [RFC6795] to distribute session policy document meets these requirements.

攻击者可能试图修改发送给客户端的会话策略文档,使客户端处理这些文档的成本更高(例如,在合并策略方面)。攻击者还可能试图创建自己的伪造策略文档,并将其发送给具有相同目的的客户端,或者为了让客户端遵守这些伪造策略,作为拒绝服务(DoS)攻击的一部分。用于分发会话策略文档的协议应确保身份验证、隐私和消息完整性。使用[RFC6795]分发会话策略文档符合这些要求。

The <shared-secret> element can contain a shared secret needed to authenticate at a media intermediary. The privacy of documents containing this element MUST be preserved when they are sent between a server and a UA. When [RFC6795] is used to distribute these documents, encryption as defined in [RFC3261] (i.e., TLS or S/MIME) MUST be used.

<shared secret>元素可以包含在媒体中介进行身份验证所需的共享密钥。在服务器和UA之间发送包含此元素的文档时,必须保护其隐私。当使用[RFC6795]分发这些文档时,必须使用[RFC3261]中定义的加密(即TLS或S/MIME)。

10. IANA Considerations
10. IANA考虑

This document registers a new media type (application/ media-policy-dataset+xml), a new RELAX NG schema, and a new XML namespace.

此文档注册了一个新的媒体类型(应用程序/媒体策略数据集+xml)、一个新的RELAXNG模式和一个新的xml命名空间。

10.1. Media Type Registration
10.1. 媒体类型注册

Media type name: application

媒体类型名称:应用程序

Media subtype name: media-policy-dataset+xml

媒体子类型名称:媒体策略数据集+xml

Mandatory parameters: none

强制参数:无

Optional parameters: Same as charset parameter of application/xml as specified in RFC 3023 [RFC3023].

可选参数:与RFC 3023[RFC3023]中指定的application/xml的字符集参数相同。

Encoding considerations: Same as encoding considerations of application/xml as specified in RFC 3023 [RFC3023].

编码注意事项:与RFC 3023[RFC3023]中指定的应用程序/xml的编码注意事项相同。

Security considerations: See Section 10 of RFC 3023 [RFC3023] and Section 9 of this specification.

安全注意事项:参见RFC 3023[RFC3023]第10节和本规范第9节。

Interoperability considerations: none.

互操作性考虑:无。

Published specification: This document.

已发布规范:本文件。

Applications that use this media type: This document type is used to convey session description and media policy information between SIP user agents and a domain.

使用此媒体类型的应用程序:此文档类型用于在SIP用户代理和域之间传递会话描述和媒体策略信息。

Additional Information:

其他信息:

Magic Number: None

神奇数字:无

File Extension: .mpf or .xml

文件扩展名:.mpf或.xml

Macintosh file type code: "TEXT"

Macintosh文件类型代码:“文本”

   Personal and email address for further information: Volker Hilt
   <volker.hilt@bell-labs.com>
        
   Personal and email address for further information: Volker Hilt
   <volker.hilt@bell-labs.com>
        

Intended usage: COMMON

预期用途:普通

Author/Change controller: The IETF.

作者/变更控制者:IETF。

10.2. RELAX NG Schema Registration
10.2. RELAXNG模式注册

This specification registers a schema. The schema can be found as the sole content of Section 8.

此规范注册一个模式。该模式是第8节的唯一内容。

   URI: urn:ietf:params:xml:schema:mediadataset
        
   URI: urn:ietf:params:xml:schema:mediadataset
        
   Registrant Contact: IETF RAI area <rai@ietf.org>, Volker Hilt
   <volker.hilt@bell-labs.com>
        
   Registrant Contact: IETF RAI area <rai@ietf.org>, Volker Hilt
   <volker.hilt@bell-labs.com>
        

RELAX NG Schema: The RELAX NG schema to be registered is contained in Section 8.

RELAXNG模式:要注册的RELAXNG模式包含在第8节中。

10.3. URN Sub-Namespace Registration
10.3. URN子命名空间注册

This section registers a new XML namespace, as per the guidelines in [RFC3688].

本节根据[RFC3688]中的指南注册一个新的XML名称空间。

URI: The URI for this namespace is urn:ietf:params:xml:ns:mediadataset.

URI:此命名空间的URI为urn:ietf:params:xml:ns:mediadataset。

   Registrant Contact: IETF RAI area <rai@ietf.org>, Volker Hilt
   <volker.hilt@bell-labs.com>
        
   Registrant Contact: IETF RAI area <rai@ietf.org>, Volker Hilt
   <volker.hilt@bell-labs.com>
        

XML:

XML:

        BEGIN
        <?xml version="1.0"?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
                  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
          <meta http-equiv="content-type"
                content="text/html;charset=iso-8859-1"/>
          <title>Media Policy Data Set Namespace</title>
        </head>
        <body>
          <h1>Namespace for Media Policy Data Sets</h1>
          <h2>urn:ietf:params:xml:ns:mediadataset</h2>
          <p>See <a href="http://www.rfc-editor.org/rfc/rfc6796.txt">
             RFC 6796</a>.</p>
        </body>
        </html>
        END
        
        BEGIN
        <?xml version="1.0"?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
                  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
          <meta http-equiv="content-type"
                content="text/html;charset=iso-8859-1"/>
          <title>Media Policy Data Set Namespace</title>
        </head>
        <body>
          <h1>Namespace for Media Policy Data Sets</h1>
          <h2>urn:ietf:params:xml:ns:mediadataset</h2>
          <p>See <a href="http://www.rfc-editor.org/rfc/rfc6796.txt">
             RFC 6796</a>.</p>
        </body>
        </html>
        END
        
11. References
11. 工具书类
11.1. Normative References
11.1. 规范性引用文件

[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月。

[RFC2141] Moats, R., "URN Syntax", RFC 2141, May 1997.

[RFC2141]Moats,R.,“瓮语法”,RFC 21411997年5月。

[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998.

[RFC2474]Nichols,K.,Blake,S.,Baker,F.,和D.Black,“IPv4和IPv6头中区分服务字段(DS字段)的定义”,RFC 2474,1998年12月。

[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001.

[RFC3023]Murata,M.,St.Laurent,S.,和D.Kohn,“XML媒体类型”,RFC 3023,2001年1月。

[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月。

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004.

[RFC3688]Mealling,M.“IETF XML注册表”,BCP 81,RFC 3688,2004年1月。

[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月。

[RFC4574] Levin, O. and G. Camarillo, "The Session Description Protocol (SDP) Label Attribute", RFC 4574, August 2006.

[RFC4574]Levin,O.和G.Camarillo,“会话描述协议(SDP)标签属性”,RFC 45742006年8月。

[RFC4855] Casner, S., "Media Type Registration of RTP Payload Formats", RFC 4855, February 2007.

[RFC4855]Casner,S.,“RTP有效负载格式的媒体类型注册”,RFC 48552007年2月。

[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月。

[RFC4976] Jennings, C., Mahy, R., and A. Roach, "Relay Extensions for the Message Sessions Relay Protocol (MSRP)", RFC 4976, September 2007.

[RFC4976]Jennings,C.,Mahy,R.,和A.Roach,“消息会话中继协议(MSRP)的中继扩展”,RFC 49762007年9月。

[RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)", RFC 5766, April 2010.

[RFC5766]Mahy,R.,Matthews,P.,和J.Rosenberg,“使用NAT周围的中继进行遍历(TURN):NAT(STUN)会话遍历实用程序的中继扩展”,RFC 5766,2010年4月。

[RFC6795] Hilt, V. and G. Camarillo, "A Session Initiation Protocol (SIP) Event Package for Session-Specific Policies", RFC 6795, December 2012.

[RFC6795]Hilt,V.和G.Camarillo,“会话特定策略的会话启动协议(SIP)事件包”,RFC 67952012年12月。

[W3C.REC-xml-20081126] Sperberg-McQueen, C., Yergeau, F., Maler, E., Bray, T., and J. Paoli, "Extensible Markup Language (XML) 1.0 (Fifth Edition)", World Wide Web Consortium Recommendation REC-xml-20081126, November 2008, <http://www.w3.org/TR/2008/REC-xml-20081126>.

[W3C.REC-xml-20081126]Sperberg McQueen,C.,Yergeau,F.,Maler,E.,Bray,T.,和J.Paoli,“可扩展标记语言(xml)1.0(第五版)”,万维网联盟建议REC-xml-20081126,2008年11月<http://www.w3.org/TR/2008/REC-xml-20081126>.

[W3C.REC-xml-names-19990114] Hollander, D., Bray, T., and A. Layman, "Namespaces in XML", World Wide Web Consortium First Edition REC-xml-names-19990114, January 1999, <http://www.w3.org/TR/1999/REC-xml-names-19990114>.

[W3C.REC-xml-names-19990114]Hollander,D.,Bray,T.,和A.Layman,“xml中的名称空间”,万维网联盟第一版REC-xml-names-19990114,1999年1月<http://www.w3.org/TR/1999/REC-xml-names-19990114>.

11.2. Informative References
11.2. 资料性引用

[RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999.

[RFC2648]Moats,R.,“IETF文档的URN名称空间”,RFC 26481999年8月。

[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月。

[RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols", BCP 70, RFC 3470, January 2003.

[RFC3470]Hollenbeck,S.,Rose,M.,和L.Masinter,“IETF协议中可扩展标记语言(XML)的使用指南”,BCP 70,RFC 3470,2003年1月。

[RFC4583] Camarillo, G., "Session Description Protocol (SDP) Format for Binary Floor Control Protocol (BFCP) Streams", RFC 4583, November 2006.

[RFC4583]Camarillo,G.“二进制地板控制协议(BFCP)流的会话描述协议(SDP)格式”,RFC4583,2006年11月。

[RFC4629] Ott, H., Bormann, C., Sullivan, G., Wenger, S., and R. Even, "RTP Payload Format for ITU-T Rec", RFC 4629, January 2007.

[RFC4629]Ott,H.,Bormann,C.,Sullivan,G.,Wenger,S.,和R.偶,“ITU-T Rec的RTP有效载荷格式”,RFC 46292007年1月。

[RFC4856] Casner, S., "Media Type Registration of Payload Formats in the RTP Profile for Audio and Video Conferences", RFC 4856, February 2007.

[RFC4856]Casner,S.,“音频和视频会议RTP配置文件中有效负载格式的媒体类型注册”,RFC 4856,2007年2月。

[RFC6080] Petrie, D. and S. Channabasappa, "A Framework for Session Initiation Protocol User Agent Profile Delivery", RFC 6080, March 2011.

[RFC6080]Petrie,D.和S.Channabasappa,“会话启动协议用户代理配置文件交付框架”,RFC 60802011年3月。

[RFC6794] Hilt, V., Camarillo, G., and J. Rosenberg, "A Framework for Session Initiation Protocol (SIP) Session Policies", RFC 6794, December 2012.

[RFC6794]Hilt,V.,Camarillo,G.,和J.Rosenberg,“会话启动协议(SIP)会话策略框架”,RFC 67942012年12月。

Appendix A. Acknowledgements
附录A.确认书

Many thanks to Allison Mankin, Dan Petrie, Martin Dolly, Adam Roach, and Ben Campbell for the discussions and suggestions. Many thanks to Roni Even, Mary Barnes, Yaron Sheffer, Pete McCann, and Henry S. Thompson for reviewing the document and to Jari Urpalainen for helping with the RELAX NG schema.

非常感谢Allison Mankin、Dan Petrie、Martin Dolly、Adam Roach和Ben Campbell的讨论和建议。非常感谢Roni Even、Mary Barnes、Yaron Sheffer、Pete McCann和Henry S.Thompson审阅了该文件,并感谢Jari Urpalainen对RELAX NG模式的帮助。

Authors' Addresses

作者地址

Volker Hilt Bell Labs/Alcatel-Lucent Lorenzstrasse 10 70435 Stuttgart Germany

沃尔克希尔特贝尔实验室/德国斯图加特阿尔卡特朗讯洛伦茨特拉斯10 70435

   EMail: volker.hilt@bell-labs.com
        
   EMail: volker.hilt@bell-labs.com
        

Gonzalo Camarillo Ericsson Hirsalantie 11 Jorvas 02420 Finland

Gonzalo Camarillo Ericsson Hirsalantie 11 Jorvas 02420芬兰

   EMail: Gonzalo.Camarillo@ericsson.com
        
   EMail: Gonzalo.Camarillo@ericsson.com
        

Jonathan Rosenberg jdrosen.net Monmouth, NJ USA

Jonathan Rosenberg jdrosen.net美国新泽西州蒙茅斯

   EMail: jdrosen@jdrosen.net
        
   EMail: jdrosen@jdrosen.net
        

Dale R. Worley Ariadne Internet Services, Inc. 738 Main St. Waltham, MA 02451 US

Dale R.Worley Ariadne互联网服务有限公司,地址:美国马萨诸塞州圣沃尔瑟姆大街738号,邮编:02451

   EMail: worley@ariadne.com
        
   EMail: worley@ariadne.com