Network Working Group                                        M. Lonnfors
Request for Comments: 5196                                       K. Kiss
Category: Standards Track                                          Nokia
                                                          September 2008
        
Network Working Group                                        M. Lonnfors
Request for Comments: 5196                                       K. Kiss
Category: Standards Track                                          Nokia
                                                          September 2008
        

Session Initiation Protocol (SIP) User Agent Capability Extension to Presence Information Data Format (PIDF)

会话启动协议(SIP)用户代理能力扩展到状态信息数据格式(PIDF)

Status of This Memo

关于下段备忘

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Abstract

摘要

Presence Information Data Format (PIDF) defines a common presence data format for Common Profile for Presence (CPP) compliant presence protocols. This memo defines a PIDF extension to represent SIP User Agent capabilities.

状态信息数据格式(PIDF)为符合CPP的状态协议的公共配置文件定义了公共状态数据格式。此备忘录定义了一个PIDF扩展来表示SIP用户代理功能。

Table of Contents

目录

   1. Introduction ....................................................3
      1.1. Motivation .................................................3
      1.2. Scope ......................................................4
   2. Conventions .....................................................4
   3. Extension for "Indicating User Agent Capabilities in the
      Session Initiation Protocol (SIP)" in PIDF Documents ............4
      3.1. Overview of Operation ......................................4
      3.2. Service capabilities .......................................5
           3.2.1. <servcaps> Element ..................................5
           3.2.2. <audio> Element .....................................5
           3.2.3. <application> Element ...............................5
           3.2.4. <data> Element ......................................6
           3.2.5. <control> Element ...................................6
           3.2.6. <video> Element .....................................6
           3.2.7. <text> Element ......................................6
           3.2.8. <message> Element ...................................7
           3.2.9. <type> Element ......................................7
           3.2.10. <automata> Element .................................7
           3.2.11. <class> Element ....................................7
           3.2.12. <duplex> Element ...................................8
           3.2.13. <description> Element ..............................8
           3.2.14. <event-packages> Element ...........................9
           3.2.15. <priority> Element .................................9
           3.2.16. <methods> Element .................................10
           3.2.17. <extensions> Element ..............................11
           3.2.18. <schemes> Element .................................11
           3.2.19. <actor> Element ...................................12
           3.2.20. <isfocus> Element .................................12
           3.2.21. <languages> Element ...............................13
      3.3. Device Capabilities .......................................13
           3.3.1. <devcaps> Element ..................................13
           3.3.2. <mobility> Element .................................14
           3.3.3. <description> Element ..............................14
   4. Usage Guidelines ...............................................15
      4.1. Use of <supported> and <notsupported> Elements ............15
   5. Examples .......................................................16
   6. XML Schema Definitions .........................................17
   7. IANA Considerations ............................................26
      7.1. URN Sub-Namespace Registration for ........................26
      7.2. Schema Registration for Schema ............................27
   8. Security Considerations ........................................27
   9. Acknowledgments ................................................27
   10. References ....................................................27
      10.1. Normative References .....................................27
      10.2. Informative References ...................................28
        
   1. Introduction ....................................................3
      1.1. Motivation .................................................3
      1.2. Scope ......................................................4
   2. Conventions .....................................................4
   3. Extension for "Indicating User Agent Capabilities in the
      Session Initiation Protocol (SIP)" in PIDF Documents ............4
      3.1. Overview of Operation ......................................4
      3.2. Service capabilities .......................................5
           3.2.1. <servcaps> Element ..................................5
           3.2.2. <audio> Element .....................................5
           3.2.3. <application> Element ...............................5
           3.2.4. <data> Element ......................................6
           3.2.5. <control> Element ...................................6
           3.2.6. <video> Element .....................................6
           3.2.7. <text> Element ......................................6
           3.2.8. <message> Element ...................................7
           3.2.9. <type> Element ......................................7
           3.2.10. <automata> Element .................................7
           3.2.11. <class> Element ....................................7
           3.2.12. <duplex> Element ...................................8
           3.2.13. <description> Element ..............................8
           3.2.14. <event-packages> Element ...........................9
           3.2.15. <priority> Element .................................9
           3.2.16. <methods> Element .................................10
           3.2.17. <extensions> Element ..............................11
           3.2.18. <schemes> Element .................................11
           3.2.19. <actor> Element ...................................12
           3.2.20. <isfocus> Element .................................12
           3.2.21. <languages> Element ...............................13
      3.3. Device Capabilities .......................................13
           3.3.1. <devcaps> Element ..................................13
           3.3.2. <mobility> Element .................................14
           3.3.3. <description> Element ..............................14
   4. Usage Guidelines ...............................................15
      4.1. Use of <supported> and <notsupported> Elements ............15
   5. Examples .......................................................16
   6. XML Schema Definitions .........................................17
   7. IANA Considerations ............................................26
      7.1. URN Sub-Namespace Registration for ........................26
      7.2. Schema Registration for Schema ............................27
   8. Security Considerations ........................................27
   9. Acknowledgments ................................................27
   10. References ....................................................27
      10.1. Normative References .....................................27
      10.2. Informative References ...................................28
        
1. Introduction
1. 介绍

Common Profile for Presence (CPP) [RFC3859] and Common Profile for Instant Messaging (CPIM) [RFC3860] define common operations and formats that all presence and instant messaging services must agree upon so that basic interoperability is possible. The actual base format for the presence is defined in the Presence Information Document Format (PIDF) [RFC3863]. The PIDF has been designed to reduce the need for gatewaying and to allow end-to-end security of presence information. It has taken a very minimalistic approach to support such operations. In order to make the PIDF usable by different presence applications, these applications usually must extend the basic PIDF by standard XML mechanisms as defined in PIDF [RFC3863].

状态通用配置文件(CPP)[RFC3859]和即时消息通用配置文件(CPIM)[RFC3860]定义了所有状态和即时消息服务必须商定的通用操作和格式,以便实现基本的互操作性。状态信息文档格式(PIDF)[RFC3863]中定义了状态的实际基本格式。PIDF的设计旨在减少网关的需要,并允许存在信息的端到端安全。它采取了一种非常简单的方法来支持这种行动。为了使PIDF可供不同的状态应用程序使用,这些应用程序通常必须通过PIDF[RFC3863]中定义的标准XML机制扩展基本PIDF。

The aim of this memo is to introduce a SIP-specific extension mechanism to the PIDF that conveys the same SIP media feature tags as described in [RFC3840]. With this extension, presence applications based on SIP can have richer and more usable presence information compared to the baseline PIDF.

本备忘录的目的是向PIDF引入SIP特定扩展机制,该机制传送与[RFC3840]中所述相同的SIP媒体功能标签。通过此扩展,与基线PIDF相比,基于SIP的状态应用程序可以拥有更丰富、更可用的状态信息。

1.1. Motivation
1.1. 动机

The PIDF [RFC3863] defines a <contact> element that may appear once inside every <tuple> element. The content of the <contact> element encodes the CONTACT ADDRESS and CONTACT MEANS as defined in [RFC2778]. The <contact> element is defined to be a URI of any scheme. In some implementations, the URI scheme can uniquely identify the service the tuple intends to describe (e.g., im: URI scheme usually represents Instant Messaging service). However, this may not be the case in all implementations. For example in SIP, a SIP URI scheme can represent different kinds of services. A SIP URI scheme can be used to contact voice services, video services, or messaging services. If it is not known by other means, it might be hard for applications processing the presence information containing only a SIP URI contact addresses to know what particular service the tuple intends to describe. Also, watchers receiving presence information would probably benefit from getting more descriptive information about what particular communication means or services are supported by the presentity.

PIDF[RFC3863]定义了一个<contact>元素,它可以在每个<tuple>元素中出现一次。<contact>元素的内容对[RFC2778]中定义的联系人地址和联系方式进行编码。<contact>元素被定义为任何方案的URI。在一些实现中,URI方案可以唯一地标识元组想要描述的服务(例如,im:URI方案通常表示即时消息服务)。然而,并非所有实现都是如此。例如,在SIP中,SIPURI方案可以表示不同类型的服务。SIPURI方案可用于联系语音服务、视频服务或消息服务。如果通过其他方式不知道,则处理仅包含SIP URI联系人地址的存在信息的应用程序可能很难知道元组打算描述的特定服务。此外,接收状态信息的观察者可能会受益于获得关于状态实体支持的特定通信手段或服务的更多描述性信息。

The User Agent Capabilities extension [RFC3840] defines a set of extensions that allow user agents to express preferences about request handling in SIP servers. The same information can provide value to watchers as well so that they can make more rational decisions on how a presentity should be contacted if a presence document contained this information.

用户代理功能扩展[RFC3840]定义了一组扩展,允许用户代理表达有关SIP服务器中请求处理的首选项。同样的信息也可以为观察者提供价值,这样他们就可以在状态文档包含此信息时,就如何联系状态实体做出更合理的决定。

1.2. Scope
1.2. 范围

This document defines a PIDF extension, which enables SIP presence implementations to represent User Agent Capabilities [RFC3840] within presence information.

本文档定义了一个PIDF扩展,它使SIP状态实现能够在状态信息中表示用户代理功能[RFC3840]。

This extension does not replace media negotiation mechanisms defined for SIP (e.g., SDP [RFC4566]). The purpose of this extension is for a presentity to give watchers hints about the presentity's preferences, willingness, and capabilities to communicate before watchers initiate communication with the presentity.

此扩展不替换为SIP定义的媒体协商机制(例如SDP[RFC4566])。此扩展的目的是让实体在观察者开始与实体沟通之前,向观察者提示实体的偏好、意愿和沟通能力。

2. Conventions
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 [RFC2119].

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

This memo makes use of the vocabulary defined in [RFC2778] and [RFC3863].

本备忘录使用了[RFC2778]和[RFC3863]中定义的词汇表。

3. Extension for "Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)" in PIDF Documents

3. PIDF文档中“指示会话启动协议(SIP)中的用户代理功能”的扩展

This section presents the extension elements, attributes, their values, and semantics. This section also describes how this extension can be further extended.

本节介绍扩展元素、属性、它们的值和语义。本节还介绍了如何进一步扩展此扩展。

This extension is intended to be used within the PIDF [RFC3863] and that particular usage is described here. This extension may also be used with other XML documents if appropriate.

此扩展旨在在PIDF[RFC3863]中使用,具体用法如下所述。如果合适,此扩展还可以与其他XML文档一起使用。

3.1. Overview of Operation
3.1. 业务概况

This document defines how the features presented in [RFC3840] can be provided as part of presence information. Additionally, this memo includes the "type" feature tag [RFC2913], "message" media type feature tag [RFC4569], and the "language" feature tag [RFC4646] definitions. Adding these features to the PIDF means mapping them to an XML formatted structure.

本文档定义了如何将[RFC3840]中提供的功能作为状态信息的一部分。此外,本备忘录还包括“类型”功能标签[RFC2913]、“消息”媒体类型功能标签[RFC4569]和“语言”功能标签[RFC4646]定义。将这些特性添加到PIDF意味着将它们映射到XML格式的结构。

The presence data model [RFC4479] defines presence information consisting of three types of data elements: person, service, and device. This memo follows this model so that one XML extension is defined to describe device capabilities and another one to describe service capabilities.

状态数据模型[RFC4479]定义了由三种数据元素组成的状态信息:人员、服务和设备。此备忘录遵循此模型,因此定义了一个XML扩展来描述设备功能,另一个XML扩展来描述服务功能。

The namespace URIs for elements defined by this document are URNs using the namespace identifier 'ietf' defined by [RFC2648] and extended by [RFC3688].

本文档定义的元素的命名空间URI是使用[RFC2648]定义的命名空间标识符“ietf”并由[RFC3688]扩展的URN。

When these extension namespaces are congregated with the PIDF document, the combined document MUST follow the same general formatting rules as specified in Section 4.1 of [RFC3863].

当这些扩展名称空间与PIDF文档集合时,组合文档必须遵循[RFC3863]第4.1节中规定的相同通用格式规则。

3.2. Service capabilities
3.2. 服务能力

Elements belonging to service capabilities are used to describe dynamic characteristics of a service. These capabilities are enclosed within the <servcaps> element which SHOULD be located in the PIDF document as a child element of urn:ietf:params:xml:ns:pidf namespace <tuple> [RFC3863] element.

属于服务能力的元素用于描述服务的动态特性。这些功能包含在<servcaps>元素中,该元素应作为urn:ietf:params:xml:ns:PIDF namespace<tuple>[RFC3863]元素的子元素位于PIDF文档中。

The namespace identifier for these elements is:

这些元素的命名空间标识符为:

   urn:ietf:params:xml:ns:pidf:caps
        
   urn:ietf:params:xml:ns:pidf:caps
        
3.2.1. <servcaps> Element
3.2.1. <servcaps>元素

The root element of service capabilities is <servcaps>. The root element always has to be present. This element can contain the following child elements: <audio>, <application>, <data>, <control>, <video>, <text>, <message>, <type>, <automata>, <class>, <duplex>, <description>, <event-packages>, <priority>, <methods>, <extensions>, <schemes>, <actor>, <isfocus>, and <languages> followed by any number of optional extension elements from other namespaces.

服务功能的根元素是<servcaps>。根元素始终必须存在。此元素可以包含以下子元素:<audio>,<application>,<data>,<control>,<video>,<text>,<message>,<type>,<automata>,<class>,<duplex>,<description>,<event packages>,<priority>,<methods>,<extensions>,<schemes>,<actor>,<isfocus>,和<languages>,后跟来自其他名称空间的任意数量的可选扩展元素。

A <servcaps> element can contain any number of optional extension attributes from other namespaces.

<servcaps>元素可以包含来自其他名称空间的任意数量的可选扩展属性。

3.2.2. <audio> Element
3.2.2. <audio>元素

The <audio> element indicates that the service supports audio as a streaming media type as defined in [RFC3840].

<audio>元素表示该服务支持音频作为[RFC3840]中定义的流媒体类型。

The <audio> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports audio media type, and the value 'false' indicates that service does not support audio media type.

<audio>元素是布尔类型,没有任何属性。值“true”表示服务支持音频媒体类型,值“false”表示服务不支持音频媒体类型。

3.2.3. <application> Element
3.2.3. <application>元素

The <application> element indicates that the service supports application as a streaming media type as defined in [RFC3840].

<application>元素表示服务支持应用程序作为[RFC3840]中定义的流媒体类型。

The <application> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports application media type, and the value 'false' indicates that service does not support application media type.

<application>元素是布尔类型,没有任何属性。值“true”表示服务支持应用程序媒体类型,值“false”表示服务不支持应用程序媒体类型。

3.2.4. <data> Element
3.2.4. <data>元素

The <data> element indicates that the service supports data as a streaming media type as defined in [RFC3840].

<data>元素表示服务支持[RFC3840]中定义的流媒体类型的数据。

The <data> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports data media type, and the value 'false' indicates that service does not support data media type.

<data>元素是布尔类型,没有任何属性。值“true”表示服务支持数据媒体类型,值“false”表示服务不支持数据媒体类型。

3.2.5. <control> Element
3.2.5. <control>元素

The <control> element indicates that the service supports control as a streaming media type as defined in [RFC3840].

<control>元素表示服务支持控制作为[RFC3840]中定义的流媒体类型。

The <control> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports control media type, and the value 'false' indicates that service does not support control media type.

<control>元素是布尔类型,没有任何属性。值“true”表示服务支持控制媒体类型,值“false”表示服务不支持控制媒体类型。

3.2.6. <video> Element
3.2.6. <video>元素

The <video> element indicates that the service supports video as a streaming media type as defined in [RFC3840].

<video>元素表示服务支持视频作为[RFC3840]中定义的流媒体类型。

The <video> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports video media type, and the value 'false' indicates that service does not support video media type.

<video>元素是布尔类型,没有任何属性。值“true”表示服务支持视频媒体类型,值“false”表示服务不支持视频媒体类型。

3.2.7. <text> Element
3.2.7. <text>元素

The <text> element indicates that the service supports text as a streaming media type as defined in [RFC3840].

<text>元素表示服务支持文本作为[RFC3840]中定义的流媒体类型。

The <text> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports text media type, and the value 'false' indicates that service does not support text media type.

<text>元素是布尔类型,没有任何属性。值“true”表示服务支持文本媒体类型,值“false”表示服务不支持文本媒体类型。

3.2.8. <message> Element
3.2.8. <message>元素

The <message> element indicates that the service supports messaging as a streaming media type as defined in [RFC4569].

<message>元素表示服务支持[RFC4569]中定义的流媒体类型的消息传递。

The <message> element is a boolean type and does not have any attributes. The value 'true' indicates that service supports message media type, and the value 'false' indicates that service does not support message media type.

<message>元素是布尔类型,没有任何属性。值“true”表示服务支持消息媒体类型,值“false”表示服务不支持消息媒体类型。

3.2.9. <type> Element
3.2.9. <type>元素

The <type> element indicates a MIME media content type (i.e., that appears in a 'Content-type:' header of the corresponding MIME-formatted data) as defined in [RFC2913].

<type>元素表示[RFC2913]中定义的MIME媒体内容类型(即出现在相应MIME格式数据的“content type:”头中)。

The <type> element is a string type and does not have any attributes. It MUST be a string of the form "type/subtype", where 'type' and 'subtype' are defined by the MIME specification [RFC2045]. Only lowercase letters SHOULD be used.

<type>元素是字符串类型,没有任何属性。它必须是“类型/子类型”形式的字符串,其中“类型”和“子类型”由MIME规范[RFC2045]定义。只能使用小写字母。

3.2.10. <automata> Element
3.2.10. <automata>元素

The <automata> element indicates whether the service represents an automaton (such as a voicemail server, conference server, or recording device) or a human as defined in [RFC3840].

<automata>元素表示服务是表示自动机(如语音邮件服务器、会议服务器或录音设备)还是表示[RFC3840]中定义的人。

The <automata> element is a boolean type and does not have any attributes. The value 'true' indicates that the service represents an automaton, and the value 'false' indicates that it represents a human.

<automata>元素是布尔类型,没有任何属性。值“true”表示该服务代表一个自动机,值“false”表示它代表一个人。

3.2.11. <class> Element
3.2.11. <class>元素

The <class> element indicates the setting, business or personal, in which a communications service is used as defined in [RFC3840].

<class>元素表示使用[RFC3840]中定义的通信服务的商业或个人设置。

The <class> element can contain two elements: <supported> and <notsupported>. Classes that are supported by the service can be listed under the <supported> element, and classes that are not supported by the service can be listed under the <notsupported> element.

<class>元素可以包含两个元素:<supported>和<notsupported>。服务支持的类可以列在<supported>元素下,服务不支持的类可以列在<notsupported>元素下。

<supported> and <notsupported> elements can contain <business> and <personal> elements followed by any number of optional extension elements from other namespaces. The semantics of business and personal are defined in [RFC3840] as:

<supported>和<notsupported>元素可以包含<business>和<personal>元素,后跟来自其他名称空间的任意数量的可选扩展元素。[RFC3840]将业务和个人的语义定义为:

o <business>: The service is used for business communications.

o <business>:该服务用于业务通信。

o <personal>: The service is used for personal communications.

o <personal>:该服务用于个人通信。

Any value that is registered with IANA for the SIP media feature tag registration tree as a sip.class media feature tag can be used as a value of an extension element. If the appropriate value is not registered, it SHOULD be registered as defined in [RFC3840].

为SIP媒体功能标签注册树向IANA注册为SIP.class媒体功能标签的任何值都可以用作扩展元素的值。如果未注册适当的值,则应按照[RFC3840]中的定义进行注册。

3.2.12. <duplex> Element
3.2.12. <duplex>元素

The <duplex> element lists whether a communications service can simultaneously send and receive media ("full"), alternate between sending and receiving ("half"), only receive ("receive-only"), or only send ("send-only") as defined in [RFC3840].

<duplex>元素列出了通信服务是否可以同时发送和接收媒体(“完整”)、在发送和接收(“一半”)、仅接收(“仅接收”)或仅发送(“仅发送”),如[RFC3840]中所定义。

The <duplex> element can contain two elements: <supported> and <notsupported>. Duplex modes that are supported by the service can be listed under the <supported> element, and duplex modes that are not supported by the service can be listed under the <notsupported> element.

<duplex>元素可以包含两个元素:<supported>和<notsupported>。服务支持的双工模式可以在<supported>元素下列出,服务不支持的双工模式可以在<notsupported>元素下列出。

<supported> and <notsupported> elements can contain <full>, <half>, <receive-only>, and <send-only> elements followed by any number of optional extension elements from other namespaces. The semantics of these elements are defined in [RFC3840] as:

<supported>和<notsupported>元素可以包含<full>、<half>、<receive only>和<send only>元素,后跟来自其他名称空间的任意数量的可选扩展元素。[RFC3840]将这些元素的语义定义为:

o <full>: The service can simultaneously send and receive media.

o <full>:该服务可以同时发送和接收媒体。

o <half>: The service can alternate between sending and receiving media.

o <half>:该服务可以在发送和接收媒体之间切换。

o <receive-only>: The service can only receive media.

o <仅接收>:该服务只能接收媒体。

o <send-only>: The service can only send media.

o <仅发送>:该服务只能发送媒体。

Any value that is registered with IANA for the SIP media feature tag registration tree as a sip.duplex media feature tag can be used as a value of an extension element. If the appropriate value is not registered, it SHOULD be registered as defined in [RFC3840].

为SIP媒体功能标签注册树向IANA注册为SIP.duplex媒体功能标签的任何值都可以用作扩展元素的值。如果未注册适当的值,则应按照[RFC3840]中的定义进行注册。

3.2.13. <description> Element
3.2.13. <description>元素

The <description> element provides a textual description of the service as defined in [RFC3840].

元素提供[RFC3840]中定义的服务的文本描述。

The <description> element is of string type and does not have any attributes.

<description>元素是字符串类型,没有任何属性。

The <description> element SHOULD be labeled with the 'xml:lang' attribute to indicate its language and script. The specification allows multiple occurrences of this elements so that the presentity can convey <description> elements in multiple scripts and languages. If no 'xml:lang' attribute is provided, the default value is "i-default" as defined in [RFC2277].

<description>元素应标记为'xml:lang'属性,以指示其语言和脚本。该规范允许该元素多次出现,以便呈现实体能够以多种脚本和语言传达<description>元素。如果未提供“xml:lang”属性,则默认值为[RFC2277]中定义的“i-default”。

3.2.14. <event-packages> Element
3.2.14. <event-packages>元素

The <event-packages> element lists the event packages supported by a service.

元素列出了服务支持的事件包。

The <event-packages> element can contain two elements: <supported> and <notsupported>. Event packages that are supported by the service can be listed under the <supported> element, and event packages that are not supported by the service can be listed under the <notsupported> element.

<event packages>元素可以包含两个元素:<supported>和<notsupported>。服务支持的事件包可以在<supported>元素下列出,服务不支持的事件包可以在<notsupported>元素下列出。

The <supported> and <notsupported> elements can contain any values from the IANA SIP event types namespace registry followed by any number of optional extension elements from other namespaces. As of this writing, the IANA SIP event types namespace registry includes the following packages: <conference>, <dialog>, <kpml>, <message-summary>, <poc-settings>, <presence>, <reg>, <refer>, <Siemens-RTP-Stats>, <spirits-INDPs>, <spirits-user-prof>, and <winfo>.

<supported>和<notsupported>元素可以包含来自IANA SIP事件类型命名空间注册表的任何值,后跟来自其他命名空间的任意数量的可选扩展元素。在撰写本文时,IANA SIP事件类型命名空间注册表包括以下软件包:<conference>、<dialog>、<kpml>、<message summary>、<poc settings>、<presence>、<reg>、<Reference>、<Siemens RTP Stats>、<spirits INDPs>、<spirits user prof>和<winfo>。

3.2.15. <priority> Element
3.2.15. <priority>元素

The <priority> element indicates the call priorities the service is willing to handle as defined in [RFC3840].

<priority>元素表示服务愿意按照[RFC3840]中的定义处理的呼叫优先级。

The <priority> element can contain two elements: <supported> and <notsupported>. Priority values that are supported by the service can be listed under the <supported> element, and priority values that are not supported by the service can be listed under the <notsupported> element.

<priority>元素可以包含两个元素:<supported>和<notsupported>。服务支持的优先级值可以在<supported>元素下列出,服务不支持的优先级值可以在<notsupported>元素下列出。

The <supported> and <notsupported> elements can contain any number of <lowerthan>, <higherthan>, <equals>, and <range> elements followed by any number of optional extension elements from other namespaces.

<supported>和<notsupported>元素可以包含任意数量的<lowerthan>、<higherthan>、<equals>和<range>元素,后跟任意数量的来自其他名称空间的可选扩展元素。

3.2.15.1. <lowerthan> Element
3.2.15.1. <lowerthan>元素

The <lowerthan> element has a single attribute called "maxvalue". The "maxvalue" attribute is used to give the highest priority value that the service is willing to support. All values equal and below that value are supported.

<lowerthan>元素有一个名为“maxvalue”的属性。“maxvalue”属性用于提供服务愿意支持的最高优先级值。支持所有等于或低于该值的值。

3.2.15.2. <higherthan> Element
3.2.15.2. <higherthan>元素

The <higherthan> element has a single attribute called "minvalue". The "minvalue" attribute is used to give the lowest priority value that the service is willing to support. All values equal and above that value are supported.

<higherthan>元素有一个名为“minvalue”的属性。“minvalue”属性用于提供服务愿意支持的最低优先级值。支持所有等于或高于该值的值。

3.2.15.3. <equals> Element
3.2.15.3. <equals>元素

The <equals> element is used to indicate the exact priority value that the service is willing to handle. The <equals> element has a single attribute called "value". The "value" attribute is used to indicate the exact supported priority value.

<equals>元素用于指示服务愿意处理的确切优先级值。<equals>元素有一个名为“value”的属性。“value”属性用于指示支持的确切优先级值。

3.2.15.4. <range> Element
3.2.15.4. <range>元素

The <range> element is used to indicate the priority range that the service is willing to handle. The <range> element has two attributes called "minvalue" and "maxvalue". The value of the "minvalue" attribute indicates the lowest priority value supported by the service, and the value of the "maxvalue" attribute indicates the highest priority value supported by the service.

<range>元素用于指示服务愿意处理的优先级范围。<range>元素有两个属性,分别称为“minvalue”和“maxvalue”。“minvalue”属性的值表示服务支持的最低优先级值,“maxvalue”属性的值表示服务支持的最高优先级值。

3.2.16. <methods> Element
3.2.16. <methods>元素

The <methods> element indicates the SIP methods supported by a service. In this case, "supported" means that the service can receive requests with this method. In that sense, it has the same connotation as the Allow header field as defined in [RFC3840].

<methods>元素表示服务支持的SIP方法。在本例中,“受支持”表示服务可以使用此方法接收请求。从这个意义上讲,它与[RFC3840]中定义的Allow header字段具有相同的含义。

The <methods> element can contain two elements: <supported> and <notsupported>. Methods that are supported by the service can be listed under the <supported> element, and methods that are not supported by the service can be listed under the <notsupported> element.

<methods>元素可以包含两个元素:<supported>和<notsupported>。服务支持的方法可以在<supported>元素下列出,服务不支持的方法可以在<notsupported>元素下列出。

The <supported> and <notsupported> elements can contain any values from the methods table of the IANA SIP parameters registry table followed by any number of optional extension elements from other namespaces. As of this writing, the IANA SIP parameters registry includes the following methods:<ACK>, <BYE>, <CANCEL>, <INFO>, <INVITE>, <MESSAGE>, <NOTIFY>, <OPTIONS>, <PRACK>, <PUBLISH>, <REFER>, <REGISTER>, <SUBSCRIBE>, and <UPDATE>.

<supported>和<notsupported>元素可以包含IANA SIP parameters注册表表的methods表中的任何值,后跟其他名称空间中任意数量的可选扩展元素。在撰写本文时,IANA SIP参数注册表包括以下方法:<ACK>、<BYE>、<CANCEL>、<INFO>、<INVITE>、<MESSAGE>、<NOTIFY>、<OPTIONS>、<PRACK>、<PUBLISH>、<reference>、<REGISTER>、<SUBSCRIBE>和<UPDATE>。

3.2.17. <extensions> Element
3.2.17. <extensions>元素

The <extensions> element is a list of SIP extensions (each of which is defined by an option-tag registered with IANA) that are understood by the service. Understood, in this context, means that the option tag would be included in a Supported header field in a request as defined in [RFC3840].

<extensions>元素是服务可以理解的SIP扩展列表(每个扩展由注册到IANA的选项标记定义)。在此上下文中,理解意味着选项标记将包含在[RFC3840]中定义的请求中受支持的标头字段中。

The <extensions> element can contain two elements: <supported> and <notsupported>. Extensions that are supported by the service can be listed under the <supported> element, and extensions that are not supported by the service can be listed under the <notsupported> element.

<extensions>元素可以包含两个元素:<supported>和<notsupported>。服务支持的扩展可以列在<supported>元素下,服务不支持的扩展可以列在<notsupported>元素下。

The <supported> and <notsupported> elements can contain any values from the option tags table of the IANA SIP parameters registry table followed by any number of optional extension elements from other namespaces. As of this writing, the IANA SIP parameters registry includes the following option tags: <rel100>, <early-session>, <eventlist>, <from-change>, <gruu>, <histinfo>, <join>, <norefersub>, <path>, <precondition>, <pref>, <privacy>, <recipient-list-invite>, <recipient-list-subscribe>, <replaces>, <resource-priority>, <sdp-anat>, <sec-agree>, <tdialog>, and <timer>.

<supported>和<notsupported>元素可以包含IANA SIP parameters注册表表的option tags表中的任何值,后跟其他名称空间中任意数量的可选扩展元素。在撰写本文时,IANA SIP参数注册表包括以下选项标签:<rel100>、<early session>、<eventlist>、<from change>、<gru>、<histinfo>、<join>、<norefersub>、<path>、<pref>、<privacy>、<recipient list invite>、<recipient list subscribe>、<replaces>、<resource priority>、<sdp anat>、<sec agree>、<tdialog>,和<timer>。

3.2.18. <schemes> Element
3.2.18. <schemes>元素

The <schemes> element provides the set of URI schemes that are supported by a service. "Supported" implies, for example, that the service would know how to handle a URI of that scheme in the Contact header field of a redirect response as defined in [RFC3840].

元素提供服务支持的URI方案集。例如,“支持”意味着服务将知道如何在[RFC3840]中定义的重定向响应的联系人标头字段中处理该方案的URI。

The <schemes> element can contain two elements: <supported> and <notsupported>. Schemes that are supported by the service can be listed under the <supported> element, and schemes that are not supported by the service can be listed under the <notsupported> element.

<schemes>元素可以包含两个元素:<supported>和<notsupported>。服务支持的方案可以在<supported>元素下列出,服务不支持的方案可以在<notsupported>元素下列出。

<supported> and <notsupported> elements can contain any number of <s> elements, which can be used to describe individual schemes supported by the service.

<supported>和<notsupported>元素可以包含任意数量的<s>元素,这些元素可用于描述服务支持的单个方案。

3.2.18.1. <s> Element
3.2.18.1. <s> 元素

The <s> element is of string type and is used to describe an individual scheme supported by the service. Values that can be used here are scheme names that are registered to the IANA URI scheme registry.

<s>元素是字符串类型,用于描述服务支持的单个方案。这里可以使用的值是注册到IANA URI方案注册表的方案名称。

3.2.19. <actor> Element
3.2.19. <actor>元素

The <actor> element indicates the type of entity that is available at this URI as defined in [RFC3840].

<actor>元素表示在[RFC3840]中定义的该URI中可用的实体类型。

The <actor> element can contain two elements: <supported> and <notsupported>. Actor types that are supported by the service can be listed under the <supported> element, and actor types that are not supported by the service can be listed under the <notsupported> element.

<actor>元素可以包含两个元素:<supported>和<notsupported>。服务支持的参与者类型可以在<supported>元素下列出,服务不支持的参与者类型可以在<notsupported>元素下列出。

The <supported> and <notsupported> elements can contain <principal>, <attendant>, <msg-taker>, and <information> elements followed by any number of optional extension elements from other namespaces.

<supported>和<notsupported>元素可以包含<principal>、<attendant>、<msg taker>和<information>元素,后跟来自其他名称空间的任意数量的可选扩展元素。

The semantics of these elements are defined in [RFC3840] as:

[RFC3840]将这些元素的语义定义为:

o <principal>: The service provides communication with the principal that is associated with the service. Often this will be a specific human being, but it can be an automaton (for example, when calling a voice portal).

o <principal>:服务提供与服务关联的主体的通信。通常,这是一个特定的人,但也可以是一个自动机(例如,在呼叫语音门户时)。

o <attendant>: The service provides communication with an automaton or a person that will act as an intermediary in contacting the principal associated with the service, or a substitute.

o <attendant>:该服务提供与自动机或人员的通信,自动机或人员将充当联系与该服务相关的主体或替代者的中介。

o <msg-taker>: The service provides communication with an automaton or a person that will take messages and deliver them to the principal.

o <msg taker>:该服务提供与自动装置或人员的通信,自动装置或人员将接收消息并将其发送给负责人。

o <information>: The service provides communication with an automaton or a person that will provide information about the principal.

o <information>:该服务提供与自动机或提供主体信息的人员的通信。

Any value that is registered with IANA for the SIP media feature tag registration tree as a sip.actor media feature tag can be used as a value of an extension element. If the appropriate value is not registered, it SHOULD be registered as defined in [RFC3840].

为SIP媒体功能标签注册树向IANA注册为SIP.actor媒体功能标签的任何值都可以用作扩展元素的值。如果未注册适当的值,则应按照[RFC3840]中的定义进行注册。

3.2.20. <isfocus> Element
3.2.20. <isfocus>元素

The <isfocus> element indicates that the service is a conference server, also known as a focus as defined in [RFC3840].

<isfocus>元素表示该服务是一个会议服务器,也称为[RFC3840]中定义的焦点。

The <isfocus> element is of boolean type and does not have any attributes. The value 'true' indicates that service is a conference server and the value 'false' indicates that service does not support conferencing.

<isfocus>元素是布尔类型,没有任何属性。值“true”表示服务是会议服务器,值“false”表示服务不支持会议。

3.2.21. <languages> Element
3.2.21. <languages>元素

The <languages> element indicates the ability to display particular human languages as defined in [RFC4646].

<languages>元素表示能够显示[RFC4646]中定义的特定人类语言。

The <languages> element can contain two elements: <supported> and <notsupported>. Languages that are supported by the service can be listed under the <supported> element, and languages that are not supported by the service can be listed under the <notsupported> element.

<languages>元素可以包含两个元素:<supported>和<notsupported>。服务支持的语言可以在<supported>元素下列出,服务不支持的语言可以在<notsupported>元素下列出。

<supported> and <notsupported> elements can contain any number of <l> elements which can be used to describe individual languages supported by the service.

<supported>和<notsupported>元素可以包含任意数量的<l>元素,这些元素可用于描述服务支持的各种语言。

3.2.21.1. <l> Element
3.2.21.1. <l> 元素

The <l> element is of string type and is used to describe an individual language supported by the service. Values that can be used here are language subtags that are registered to the IANA language subtag registry as per [RFC4646].

<l>元素是字符串类型,用于描述服务支持的单个语言。此处可以使用的值是根据[RFC4646]注册到IANA语言子标记注册表的语言子标记。

3.3. Device Capabilities
3.3. 设备功能

Elements belonging to device capabilities are used to describe dynamic characteristics of a device. These capabilities are enclosed within the <devcaps> element, which SHOULD be located in the PIDF document as a child element of the urn:ietf:params:xml:ns:pidf:data-model namespace <device> element [RFC4479].

属于设备功能的元素用于描述设备的动态特性。这些功能包含在<devcaps>元素中,该元素应作为urn:ietf:params:xml:ns:PIDF:data model namespace<device>元素[RFC4479]的子元素位于PIDF文档中。

The namespace identifier for these elements is urn:

这些元素的命名空间标识符为urn:

   ietf:params:xml:ns:pidf:caps
        
   ietf:params:xml:ns:pidf:caps
        
3.3.1. <devcaps> Element
3.3.1. <devcaps>元素

The root element of device capabilities is <devcaps>. The root element always has to be present. This element can contain the following child elements: <mobility> and <description> followed by any number of optional extension elements from other namespaces.

设备功能的根元素是<devcaps>。根元素始终必须存在。此元素可以包含以下子元素:<mobility>和<description>后跟来自其他名称空间的任意数量的可选扩展元素。

A <devcaps> element can contain any number of optional extension attributes from other namespaces.

<devcaps>元素可以包含来自其他名称空间的任意数量的可选扩展属性。

3.3.2. <mobility> Element
3.3.2. <mobility>元素

The <mobility> element indicates whether the device is fixed (meaning that it is associated with a fixed point of contact with the network) or mobile (meaning that it is not associated with a fixed point of contact). Note that cordless phones are fixed, not mobile, based on this definition as defined in [RFC3840].

<mobility>元素表示设备是固定的(意味着它与网络的固定接触点相关联)还是移动的(意味着它不与固定接触点相关联)。请注意,根据[RFC3840]中的定义,无绳电话是固定的,而不是移动的。

The <mobility> element can contain two elements: <supported> and <notsupported>. Mobility modes that are supported by the device can be listed under the <supported> element and mobility modes that are not supported by the device can be listed under the <notsupported> element.

<mobility>元素可以包含两个元素:<supported>和<notsupported>。设备支持的移动模式可在<supported>元素下列出,设备不支持的移动模式可在<notsupported>元素下列出。

The <supported> and <notsupported> elements can contain <fixed> and <mobile> elements followed by any number of optional extension elements from other namespaces.

<supported>和<notsupported>元素可以包含<fixed>和<mobile>元素,后跟来自其他名称空间的任意数量的可选扩展元素。

The semantics of these elements are defined in [RFC3840] as:

[RFC3840]将这些元素的语义定义为:

o <fixed>: The device is stationary.

o <fixed>:设备处于静止状态。

o <mobile>: The device can move around with the user.

o <mobile>:设备可以与用户一起移动。

Any value that is registered with IANA to the SIP media feature tag registration tree as sip.mobility media feature tag can be used as a value of an extension element. If the appropriate value is not registered, it SHOULD be registered as defined in [RFC3840].

在SIP媒体功能标签注册树中注册为SIP.mobility媒体功能标签的任何IANA值都可以用作扩展元素的值。如果未注册适当的值,则应按照[RFC3840]中的定义进行注册。

3.3.3. <description> Element
3.3.3. <description>元素

The <description> element provides a textual description of the device as defined in [RFC3840].

<description>元素提供[RFC3840]中定义的设备的文本描述。

The <description> element is of string type and does not have any attributes.

<description>元素是字符串类型,没有任何属性。

The <description> element SHOULD be labeled with the 'xml:lang' attribute to indicate its language and script. The specification allows multiple occurrences of this element so that the presentity can convey <description> elements in multiple scripts and languages. If no 'xml:lang' attribute is provided, the default value is "i-default" as defined in [RFC2277].

<description>元素应标记为'xml:lang'属性,以指示其语言和脚本。该规范允许该元素多次出现,因此呈现实体可以用多种脚本和语言传达<description>元素。如果未提供“xml:lang”属性,则默认值为[RFC2277]中定义的“i-default”。

4. Usage Guidelines
4. 使用指南

The User Agent Capabilities extension [RFC3840] recommends that a UA provides complete information in its contact predicate. However, it may be that the presentity is not willing to publish presence information that would be consistent with actual device or service capabilities (e.g., presentity may not want to indicate that he/she supports voice when the service actually is able to support it). Authorization rules or policies in the presence server may limit or modify the presence information published by the presentity. Also, combining presence information from multiple sources may result in loss or mismatch of information.

用户代理功能扩展[RFC3840]建议UA在其联系人谓词中提供完整信息。然而,可能存在实体不愿意发布与实际设备或服务能力一致的存在信息(例如,当服务实际能够支持语音时,存在实体可能不希望指示他/她支持语音)。存在服务器中的授权规则或策略可以限制或修改存在实体发布的存在信息。此外,组合来自多个源的存在信息可能导致信息丢失或不匹配。

It is RECOMMENDED that Presence User Agents (PUAs) using this extension provide as complete presence information as they can. If the PUA is publishing sensitive information using this extension, it SHOULD obtain permission from the presentity. PUAs can indicate the explicitly supported capabilities using the <supported> element, and the capabilities that are explicitly not supported using the <notsupported> element.

建议使用此扩展的状态用户代理(PUA)尽可能提供完整的状态信息。如果PUA使用此扩展发布敏感信息,则应获得存在实体的许可。PUA可以使用<supported>元素指示显式支持的功能,以及使用<notsupported>元素指示显式不支持的功能。

It is not mandated that presence information be consistent with actual service or device capabilities. However, it is in the presentity's best interest to avoid publishing false presence information and provide accurate information to help minimize unsuccessful communication invitations. Otherwise, watchers may conclude that communication cannot be established with the presentity, but in reality it would be possible; or watchers may conclude that certain communication capabilities are available, but in reality a communication establishment attempt would fail using those capabilities. In any case, watchers should not expect the presence information represented by this extension to be fully aligned with the actual presentity's service or device capabilities. As explained in Section 1.2, presence of this extension does not replace the use of SIP signaling for capability negotiation.

不强制要求状态信息与实际服务或设备功能一致。然而,避免发布虚假存在信息并提供准确信息以帮助最小化不成功的通信邀请符合存在实体的最佳利益。否则,观察者可能会得出结论认为,和存在实体的沟通是不可能的,但在现实中这是可能的;或者,观察者可能会得出结论,认为某些通信能力是可用的,但实际上,使用这些能力建立通信的尝试将失败。在任何情况下,观察者都不应期望此扩展所表示的状态信息与实际存在实体的服务或设备功能完全一致。如第1.2节所述,此扩展的存在并不能取代SIP信令用于能力协商。

4.1. Use of <supported> and <notsupported> Elements
4.1. 使用<supported>和<notsupported>元素

PUAs should add information under <supported> and <notsupported> elements only when they believe it may affect the decision making in the watcher's end, i.e., information should be relevant and valuable for the watcher. Listing all possible information under <supported> and <notsupported> is rarely needed.

只有当PUA认为信息可能影响观察者的决策时,才应在<supported>和<notsupported>元素下添加信息,即信息应与观察者相关且对观察者有价值。很少需要在<supported>和<notsupported>下列出所有可能的信息。

For example, if the PUA wants to advertise a message service that supports the MESSAGE method, it should add it under the <supported> element in the <methods> element. Even if the service does not

例如,如果PUA想要公布支持消息方法的消息服务,它应该将其添加到<methods>元素的<supported>元素下。即使服务没有

support other methods, it is unlikely that listing all the methods not supported under the <notsupported> element would provide any value to the watcher.

如果支持其他方法,则在<notsupported>元素下列出所有不受支持的方法不太可能为观察者提供任何值。

In case of conflicting information, i.e., the same child element appears under the <supported> and <notsupported> elements with the same value, the watcher can safely assume that the listed capability is supported regardless of the inclusion of the capability under the <notsupported> element.

在信息冲突的情况下,即相同的子元素出现在具有相同值的<supported>和<notsupported>元素下,观察者可以安全地假设所列功能受支持,而不管<notsupported>元素下是否包含该功能。

5. Examples
5. 例子
   <?xml version="1.0" encoding="UTF-8"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf"
         xmlns:caps="urn:ietf:params:xml:ns:pidf:caps"
         xmlns:mod="urn:ietf:params:xml:ns:pidf:data-model"
         entity="pres:someone@example.com">
        
   <?xml version="1.0" encoding="UTF-8"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf"
         xmlns:caps="urn:ietf:params:xml:ns:pidf:caps"
         xmlns:mod="urn:ietf:params:xml:ns:pidf:data-model"
         entity="pres:someone@example.com">
        
     <tuple id="joi9877866786ua9">
       <status>
         <basic>open</basic>
       </status>
       <caps:servcaps>
         <caps:audio>true</caps:audio>
         <caps:description xml:lang="en">
            Example service
         </caps:description>
         <caps:description xml:lang="hu">
            Pe'lda szolga'ltata's
         </caps:description>
         <caps:duplex>
           <caps:supported>
             <caps:full/>
           </caps:supported>
         </caps:duplex>
         <caps:message>true</caps:message>
         <caps:methods>
           <caps:supported>
             <caps:ACK/>
             <caps:BYE/>
             <caps:INVITE/>
             <caps:MESSAGE/>
           </caps:supported>
         </caps:methods>
         <caps:priority>
           <caps:supported>
             <caps:lowerthan maxvalue="10"/>
           </caps:supported>
        
     <tuple id="joi9877866786ua9">
       <status>
         <basic>open</basic>
       </status>
       <caps:servcaps>
         <caps:audio>true</caps:audio>
         <caps:description xml:lang="en">
            Example service
         </caps:description>
         <caps:description xml:lang="hu">
            Pe'lda szolga'ltata's
         </caps:description>
         <caps:duplex>
           <caps:supported>
             <caps:full/>
           </caps:supported>
         </caps:duplex>
         <caps:message>true</caps:message>
         <caps:methods>
           <caps:supported>
             <caps:ACK/>
             <caps:BYE/>
             <caps:INVITE/>
             <caps:MESSAGE/>
           </caps:supported>
         </caps:methods>
         <caps:priority>
           <caps:supported>
             <caps:lowerthan maxvalue="10"/>
           </caps:supported>
        
         </caps:priority>
         <caps:schemes>
           <caps:supported>
             <caps:s>sip</caps:s>
           </caps:supported>
         </caps:schemes>
         <caps:video>false</caps:video>
       </caps:servcaps>
       <contact>sip:someone@example.com</contact>
     </tuple>
     <mod:device id="hgt67">
       <caps:devcaps>
         <caps:mobility>
           <caps:supported>
             <caps:mobile/>
           </caps:supported>
         </caps:mobility>
       </caps:devcaps>
       <mod:deviceID
        >urn:uuid:d27459b7-8213-4395-aa77-ed859a3e5b3a</mod:deviceID>
     </mod:device>
   </presence>
        
         </caps:priority>
         <caps:schemes>
           <caps:supported>
             <caps:s>sip</caps:s>
           </caps:supported>
         </caps:schemes>
         <caps:video>false</caps:video>
       </caps:servcaps>
       <contact>sip:someone@example.com</contact>
     </tuple>
     <mod:device id="hgt67">
       <caps:devcaps>
         <caps:mobility>
           <caps:supported>
             <caps:mobile/>
           </caps:supported>
         </caps:mobility>
       </caps:devcaps>
       <mod:deviceID
        >urn:uuid:d27459b7-8213-4395-aa77-ed859a3e5b3a</mod:deviceID>
     </mod:device>
   </presence>
        
6. XML Schema Definitions
6. XML模式定义

This section gives the XML schema definitions for the extensions defined in this document. The namespace identifier for this schema is urn:ietf:params:xml:ns:pidf:caps.

本节给出了本文档中定义的扩展的XML模式定义。此架构的命名空间标识符为urn:ietf:params:xml:ns:pidf:caps。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:tns="urn:ietf:params:xml:ns:pidf:caps"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:ietf:params:xml:ns:pidf:caps"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified">
        
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:tns="urn:ietf:params:xml:ns:pidf:caps"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:ietf:params:xml:ns:pidf:caps"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified">
        
<!-- This import brings in the XML language
     attribute xml:lang-->
        
<!-- This import brings in the XML language
     attribute xml:lang-->
        
 <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  schemaLocation="http://www.w3.org/2001/xml.xsd"/>
        
 <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  schemaLocation="http://www.w3.org/2001/xml.xsd"/>
        
<!-- ROOT -->
 <xs:element name="servcaps" type="tns:servcapstype"/>
 <xs:complexType name="servcapstype">
  <xs:sequence>
   <xs:element name="actor" type="tns:actortype"
    minOccurs="0"/>
        
<!-- ROOT -->
 <xs:element name="servcaps" type="tns:servcapstype"/>
 <xs:complexType name="servcapstype">
  <xs:sequence>
   <xs:element name="actor" type="tns:actortype"
    minOccurs="0"/>
        
   <xs:element name="application" type="tns:applicationtype"
    minOccurs="0"/>
   <xs:element name="audio" type="tns:audiotype" minOccurs="0"/>
   <xs:element name="automata" type="tns:automatatype"
    minOccurs="0"/>
   <xs:element name="class" type="tns:classtype"
    minOccurs="0"/>
   <xs:element name="control" type="tns:controltype"
    minOccurs="0"/>
   <xs:element name="data" type="tns:datatype"
    minOccurs="0"/>
   <xs:element name="description" type="tns:descriptiontype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="duplex" type="tns:duplextype"
    minOccurs="0"/>
   <xs:element name="event-packages" type="tns:event-packagestype"
    minOccurs="0"/>
   <xs:element name="extensions" type="tns:extensionstype"
    minOccurs="0"/>
   <xs:element name="isfocus" type="tns:isfocustype"
    minOccurs="0"/>
   <xs:element name="message" type="tns:messagetype"
    minOccurs="0"/>
   <xs:element name="methods" type="tns:methodstype"
    minOccurs="0"/>
   <xs:element name="languages" type="tns:languagestype"
    minOccurs="0"/>
   <xs:element name="priority" type="tns:prioritytype"
    minOccurs="0"/>
   <xs:element name="schemes" type="tns:schemestype"
    minOccurs="0"/>
   <xs:element name="text" type="tns:texttype"
    minOccurs="0"/>
   <xs:element name="type" type="tns:typetype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="video" type="tns:videotype"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 <xs:anyAttribute namespace="##any" processContents="lax"/>
 </xs:complexType>
        
   <xs:element name="application" type="tns:applicationtype"
    minOccurs="0"/>
   <xs:element name="audio" type="tns:audiotype" minOccurs="0"/>
   <xs:element name="automata" type="tns:automatatype"
    minOccurs="0"/>
   <xs:element name="class" type="tns:classtype"
    minOccurs="0"/>
   <xs:element name="control" type="tns:controltype"
    minOccurs="0"/>
   <xs:element name="data" type="tns:datatype"
    minOccurs="0"/>
   <xs:element name="description" type="tns:descriptiontype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="duplex" type="tns:duplextype"
    minOccurs="0"/>
   <xs:element name="event-packages" type="tns:event-packagestype"
    minOccurs="0"/>
   <xs:element name="extensions" type="tns:extensionstype"
    minOccurs="0"/>
   <xs:element name="isfocus" type="tns:isfocustype"
    minOccurs="0"/>
   <xs:element name="message" type="tns:messagetype"
    minOccurs="0"/>
   <xs:element name="methods" type="tns:methodstype"
    minOccurs="0"/>
   <xs:element name="languages" type="tns:languagestype"
    minOccurs="0"/>
   <xs:element name="priority" type="tns:prioritytype"
    minOccurs="0"/>
   <xs:element name="schemes" type="tns:schemestype"
    minOccurs="0"/>
   <xs:element name="text" type="tns:texttype"
    minOccurs="0"/>
   <xs:element name="type" type="tns:typetype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="video" type="tns:videotype"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 <xs:anyAttribute namespace="##any" processContents="lax"/>
 </xs:complexType>
        
 <xs:element name="devcaps" type="tns:devcaps"/>
 <xs:complexType name="devcaps">
  <xs:sequence>
   <xs:element name="description" type="tns:descriptiontype"
    minOccurs="0" maxOccurs="unbounded"/>
        
 <xs:element name="devcaps" type="tns:devcaps"/>
 <xs:complexType name="devcaps">
  <xs:sequence>
   <xs:element name="description" type="tns:descriptiontype"
    minOccurs="0" maxOccurs="unbounded"/>
        
   <xs:element name="mobility" type="tns:mobilitytype"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 <xs:anyAttribute namespace="##any" processContents="lax"/>
 </xs:complexType>
        
   <xs:element name="mobility" type="tns:mobilitytype"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 <xs:anyAttribute namespace="##any" processContents="lax"/>
 </xs:complexType>
        
 <!-- AUDIO -->
 <xs:simpleType name="audiotype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- AUDIO -->
 <xs:simpleType name="audiotype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- APPLICATION -->
 <xs:simpleType name="applicationtype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- APPLICATION -->
 <xs:simpleType name="applicationtype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- DATA -->
 <xs:simpleType name="datatype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- DATA -->
 <xs:simpleType name="datatype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- CONTROL -->
 <xs:simpleType name="controltype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- CONTROL -->
 <xs:simpleType name="controltype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- VIDEO -->
 <xs:simpleType name="videotype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- VIDEO -->
 <xs:simpleType name="videotype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- TEXT -->
 <xs:simpleType name="texttype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- TEXT -->
 <xs:simpleType name="texttype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- MESSAGE -->
 <xs:simpleType name="messagetype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- MESSAGE -->
 <xs:simpleType name="messagetype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- TYPE -->
 <xs:simpleType name="typetype">
  <xs:restriction base="xs:string"/>
 </xs:simpleType>
        
 <!-- TYPE -->
 <xs:simpleType name="typetype">
  <xs:restriction base="xs:string"/>
 </xs:simpleType>
        
 <!-- AUTOMATA -->
 <xs:simpleType name="automatatype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- AUTOMATA -->
 <xs:simpleType name="automatatype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- CLASS -->
 <xs:complexType name="classtype">
  <xs:sequence>
   <xs:element name="supported" type="tns:classtypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:classtypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="classtypes">
  <xs:sequence>
   <xs:element name="business" type="xs:string"
    minOccurs="0"/>
   <xs:element name="personal" type="xs:string"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
 <!-- CLASS -->
 <xs:complexType name="classtype">
  <xs:sequence>
   <xs:element name="supported" type="tns:classtypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:classtypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="classtypes">
  <xs:sequence>
   <xs:element name="business" type="xs:string"
    minOccurs="0"/>
   <xs:element name="personal" type="xs:string"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
 <!-- DUPLEX -->
 <xs:complexType name="duplextype">
  <xs:sequence>
   <xs:element name="supported" type="tns:duplextypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:duplextypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="duplextypes">
  <xs:sequence>
   <xs:element name="full" type="xs:string"
    minOccurs="0"/>
   <xs:element name="half" type="xs:string"
    minOccurs="0"/>
   <xs:element name="receive-only" type="xs:string"
    minOccurs="0"/>
   <xs:element name="send-only" type="xs:string"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
        
 <!-- DUPLEX -->
 <xs:complexType name="duplextype">
  <xs:sequence>
   <xs:element name="supported" type="tns:duplextypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:duplextypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="duplextypes">
  <xs:sequence>
   <xs:element name="full" type="xs:string"
    minOccurs="0"/>
   <xs:element name="half" type="xs:string"
    minOccurs="0"/>
   <xs:element name="receive-only" type="xs:string"
    minOccurs="0"/>
   <xs:element name="send-only" type="xs:string"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
        
 </xs:complexType>
        
 </xs:complexType>
        
 <!-- DESCRIPTION -->
 <xs:complexType name="descriptiontype">
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute ref="xml:lang"/>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
        
 <!-- DESCRIPTION -->
 <xs:complexType name="descriptiontype">
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute ref="xml:lang"/>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
        
 <!-- EVENT-PACKAGES -->
 <xs:complexType name="event-packagestype">
  <xs:sequence>
   <xs:element name="supported" type="tns:eventtypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:eventtypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="eventtypes">
  <xs:sequence>
   <xs:element name="conference" type="xs:string"
    minOccurs="0"/>
   <xs:element name="dialog" type="xs:string"
    minOccurs="0"/>
   <xs:element name="kpml" type="xs:string"
    minOccurs="0"/>
   <xs:element name="message-summary" type="xs:string"
    minOccurs="0"/>
   <xs:element name="poc-settings" type="xs:string"
    minOccurs="0"/>
   <xs:element name="presence" type="xs:string"
    minOccurs="0"/>
   <xs:element name="reg" type="xs:string"
    minOccurs="0"/>
   <xs:element name="refer" type="xs:string"
    minOccurs="0"/>
   <xs:element name="Siemens-RTP-Stats"
    type="xs:string" minOccurs="0"/>
   <xs:element name="spirits-INDPs"
    type="xs:string" minOccurs="0"/>
   <xs:element name="spirits-user-prof"
    type="xs:string" minOccurs="0"/>
   <xs:element name="winfo" type="xs:string"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
        
 <!-- EVENT-PACKAGES -->
 <xs:complexType name="event-packagestype">
  <xs:sequence>
   <xs:element name="supported" type="tns:eventtypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:eventtypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="eventtypes">
  <xs:sequence>
   <xs:element name="conference" type="xs:string"
    minOccurs="0"/>
   <xs:element name="dialog" type="xs:string"
    minOccurs="0"/>
   <xs:element name="kpml" type="xs:string"
    minOccurs="0"/>
   <xs:element name="message-summary" type="xs:string"
    minOccurs="0"/>
   <xs:element name="poc-settings" type="xs:string"
    minOccurs="0"/>
   <xs:element name="presence" type="xs:string"
    minOccurs="0"/>
   <xs:element name="reg" type="xs:string"
    minOccurs="0"/>
   <xs:element name="refer" type="xs:string"
    minOccurs="0"/>
   <xs:element name="Siemens-RTP-Stats"
    type="xs:string" minOccurs="0"/>
   <xs:element name="spirits-INDPs"
    type="xs:string" minOccurs="0"/>
   <xs:element name="spirits-user-prof"
    type="xs:string" minOccurs="0"/>
   <xs:element name="winfo" type="xs:string"
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
        
  </xs:sequence>
 </xs:complexType>
        
  </xs:sequence>
 </xs:complexType>
        
 <!-- PRIORITY -->
 <xs:complexType name="prioritytype">
  <xs:sequence>
   <xs:element name="supported" type="tns:prioritytypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:prioritytypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="prioritytypes">
  <xs:sequence>
   <xs:element name="equals" type="tns:equalstype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="higherhan" type="tns:higherthantype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="lowerthan" type="tns:lowerthantype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="range" type="tns:rangetype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="lowerthantype">
  <xs:attribute name="maxvalue" type="xs:integer"
   use="required"/>
 </xs:complexType>
 <xs:complexType name="higherthantype">
  <xs:attribute name="minvalue" type="xs:integer"
   use="required"/>
 </xs:complexType>
 <xs:complexType name="equalstype">
  <xs:attribute name="value" type="xs:integer"
   use="required"/>
 </xs:complexType>
 <xs:complexType name="rangetype">
  <xs:attribute name="minvalue" type="xs:integer"
   use="required"/>
  <xs:attribute name="maxvalue" type="xs:integer"
   use="required"/>
 </xs:complexType>
        
 <!-- PRIORITY -->
 <xs:complexType name="prioritytype">
  <xs:sequence>
   <xs:element name="supported" type="tns:prioritytypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:prioritytypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="prioritytypes">
  <xs:sequence>
   <xs:element name="equals" type="tns:equalstype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="higherhan" type="tns:higherthantype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="lowerthan" type="tns:lowerthantype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="range" type="tns:rangetype"
    minOccurs="0" maxOccurs="unbounded"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="lowerthantype">
  <xs:attribute name="maxvalue" type="xs:integer"
   use="required"/>
 </xs:complexType>
 <xs:complexType name="higherthantype">
  <xs:attribute name="minvalue" type="xs:integer"
   use="required"/>
 </xs:complexType>
 <xs:complexType name="equalstype">
  <xs:attribute name="value" type="xs:integer"
   use="required"/>
 </xs:complexType>
 <xs:complexType name="rangetype">
  <xs:attribute name="minvalue" type="xs:integer"
   use="required"/>
  <xs:attribute name="maxvalue" type="xs:integer"
   use="required"/>
 </xs:complexType>
        
 <!-- METHODS -->
 <xs:complexType name="methodstype">
  <xs:sequence>
        
 <!-- METHODS -->
 <xs:complexType name="methodstype">
  <xs:sequence>
        
   <xs:element name="supported" type="tns:methodtypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:methodtypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="methodtypes">
  <xs:sequence>
   <xs:element name="ACK" type="xs:string" minOccurs="0"/>
   <xs:element name="BYE" type="xs:string" minOccurs="0"/>
   <xs:element name="CANCEL" type="xs:string" minOccurs="0"/>
   <xs:element name="INFO" type="xs:string" minOccurs="0"/>
   <xs:element name="INVITE" type="xs:string" minOccurs="0"/>
   <xs:element name="MESSAGE" type="xs:string" minOccurs="0"/>
   <xs:element name="NOTIFY" type="xs:string" minOccurs="0"/>
   <xs:element name="OPTIONS" type="xs:string" minOccurs="0"/>
   <xs:element name="PRACK" type="xs:string" minOccurs="0"/>
   <xs:element name="PUBLISH" type="xs:string" minOccurs="0"/>
   <xs:element name="REFER" type="xs:string" minOccurs="0"/>
   <xs:element name="REGISTER" type="xs:string" minOccurs="0"/>
   <xs:element name="SUBSCRIBE" type="xs:string" minOccurs="0"/>
   <xs:element name="UPDATE" type="xs:string" minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
   <xs:element name="supported" type="tns:methodtypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:methodtypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="methodtypes">
  <xs:sequence>
   <xs:element name="ACK" type="xs:string" minOccurs="0"/>
   <xs:element name="BYE" type="xs:string" minOccurs="0"/>
   <xs:element name="CANCEL" type="xs:string" minOccurs="0"/>
   <xs:element name="INFO" type="xs:string" minOccurs="0"/>
   <xs:element name="INVITE" type="xs:string" minOccurs="0"/>
   <xs:element name="MESSAGE" type="xs:string" minOccurs="0"/>
   <xs:element name="NOTIFY" type="xs:string" minOccurs="0"/>
   <xs:element name="OPTIONS" type="xs:string" minOccurs="0"/>
   <xs:element name="PRACK" type="xs:string" minOccurs="0"/>
   <xs:element name="PUBLISH" type="xs:string" minOccurs="0"/>
   <xs:element name="REFER" type="xs:string" minOccurs="0"/>
   <xs:element name="REGISTER" type="xs:string" minOccurs="0"/>
   <xs:element name="SUBSCRIBE" type="xs:string" minOccurs="0"/>
   <xs:element name="UPDATE" type="xs:string" minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
 <!-- EXTENSIONS -->
 <xs:complexType name="extensionstype">
  <xs:sequence>
   <xs:element name="supported" type="tns:extensiontypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:extensiontypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="extensiontypes">
  <xs:sequence>
   <xs:element name="rel100" type="xs:string" minOccurs="0"/>
   <xs:element name="early-session" type="xs:string" minOccurs="0"/>
   <xs:element name="eventlist" type="xs:string" minOccurs="0"/>
   <xs:element name="from-change" type="xs:string" minOccurs="0"/>
   <xs:element name="gruu" type="xs:string" minOccurs="0"/>
   <xs:element name="hist-info" type="xs:string" minOccurs="0"/>
   <xs:element name="join" type="xs:string" minOccurs="0"/>
   <xs:element name="norefersub" type="xs:string" minOccurs="0"/>
   <xs:element name="path" type="xs:string" minOccurs="0"/>
   <xs:element name="precondition" type="xs:string" minOccurs="0"/>
        
 <!-- EXTENSIONS -->
 <xs:complexType name="extensionstype">
  <xs:sequence>
   <xs:element name="supported" type="tns:extensiontypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:extensiontypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="extensiontypes">
  <xs:sequence>
   <xs:element name="rel100" type="xs:string" minOccurs="0"/>
   <xs:element name="early-session" type="xs:string" minOccurs="0"/>
   <xs:element name="eventlist" type="xs:string" minOccurs="0"/>
   <xs:element name="from-change" type="xs:string" minOccurs="0"/>
   <xs:element name="gruu" type="xs:string" minOccurs="0"/>
   <xs:element name="hist-info" type="xs:string" minOccurs="0"/>
   <xs:element name="join" type="xs:string" minOccurs="0"/>
   <xs:element name="norefersub" type="xs:string" minOccurs="0"/>
   <xs:element name="path" type="xs:string" minOccurs="0"/>
   <xs:element name="precondition" type="xs:string" minOccurs="0"/>
        
   <xs:element name="pref" type="xs:string" minOccurs="0"/>
   <xs:element name="privacy" type="xs:string" minOccurs="0"/>
   <xs:element name="recipient-list-invite" type="xs:string"
    minOccurs="0"/>
   <xs:element name="recipient-list-subscribe" type="xs:string"
    minOccurs="0"/>
   <xs:element name="replaces" type="xs:string" minOccurs="0"/>
   <xs:element name="resource-priority" type="xs:string" minOccurs="0"/>
   <xs:element name="sdp-anat" type="xs:string" minOccurs="0"/>
   <xs:element name="sec-agree" type="xs:string" minOccurs="0"/>
   <xs:element name="tdialog" type="xs:string" minOccurs="0"/>
   <xs:element name="timer" type="xs:string" minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
   <xs:element name="pref" type="xs:string" minOccurs="0"/>
   <xs:element name="privacy" type="xs:string" minOccurs="0"/>
   <xs:element name="recipient-list-invite" type="xs:string"
    minOccurs="0"/>
   <xs:element name="recipient-list-subscribe" type="xs:string"
    minOccurs="0"/>
   <xs:element name="replaces" type="xs:string" minOccurs="0"/>
   <xs:element name="resource-priority" type="xs:string" minOccurs="0"/>
   <xs:element name="sdp-anat" type="xs:string" minOccurs="0"/>
   <xs:element name="sec-agree" type="xs:string" minOccurs="0"/>
   <xs:element name="tdialog" type="xs:string" minOccurs="0"/>
   <xs:element name="timer" type="xs:string" minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax"
    minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
 <!-- SCHEMES -->
 <xs:complexType name="schemestype">
  <xs:sequence>
   <xs:element name="supported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="notsupported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
        
 <!-- SCHEMES -->
 <xs:complexType name="schemestype">
  <xs:sequence>
   <xs:element name="supported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="notsupported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
        
 <!-- ACTOR -->
 <xs:complexType name="actortype">
  <xs:sequence>
   <xs:element name="supported" type="tns:actortypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:actortypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="actortypes">
  <xs:sequence>
        
 <!-- ACTOR -->
 <xs:complexType name="actortype">
  <xs:sequence>
   <xs:element name="supported" type="tns:actortypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:actortypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="actortypes">
  <xs:sequence>
        
   <xs:element name="attendant" type="xs:string" minOccurs="0"/>
   <xs:element name="information" type="xs:string" minOccurs="0"/>
   <xs:element name="msg-taker" type="xs:string" minOccurs="0"/>
   <xs:element name="principal" type="xs:string" minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
   <xs:element name="attendant" type="xs:string" minOccurs="0"/>
   <xs:element name="information" type="xs:string" minOccurs="0"/>
   <xs:element name="msg-taker" type="xs:string" minOccurs="0"/>
   <xs:element name="principal" type="xs:string" minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
        
 <!-- ISFOCUS -->
 <xs:simpleType name="isfocustype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- ISFOCUS -->
 <xs:simpleType name="isfocustype">
  <xs:restriction base="xs:boolean"/>
 </xs:simpleType>
        
 <!-- LANGUAGES -->
 <xs:complexType name="languagestype">
  <xs:sequence>
   <xs:element name="supported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="notsupported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
        
 <!-- LANGUAGES -->
 <xs:complexType name="languagestype">
  <xs:sequence>
   <xs:element name="supported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="notsupported" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
        
 <!-- MOBILITY -->
 <xs:complexType name="mobilitytype">
  <xs:sequence>
   <xs:element name="supported" type="tns:mobilitytypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:mobilitytypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="mobilitytypes">
  <xs:sequence>
   <xs:element name="fixed" type="xs:string"
    minOccurs="0"/>
   <xs:element name="mobile" type="xs:string"
        
 <!-- MOBILITY -->
 <xs:complexType name="mobilitytype">
  <xs:sequence>
   <xs:element name="supported" type="tns:mobilitytypes"
    minOccurs="0"/>
   <xs:element name="notsupported" type="tns:mobilitytypes"
    minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="mobilitytypes">
  <xs:sequence>
   <xs:element name="fixed" type="xs:string"
    minOccurs="0"/>
   <xs:element name="mobile" type="xs:string"
        
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
</xs:schema>
        
    minOccurs="0"/>
   <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
</xs:schema>
        
7. IANA Considerations
7. IANA考虑

IANA has registered one new XML namespace URN and one schema as defined in [RFC3688].

IANA已注册了一个新的XML名称空间URN和一个模式,如[RFC3688]中所定义。

7.1.  URN Sub-Namespace Registration for
      'urn:ietf:params:xml:ns:pidf:caps'
        
7.1.  URN Sub-Namespace Registration for
      'urn:ietf:params:xml:ns:pidf:caps'
        
   URI:
   urn:ietf:params:xml:ns:pidf:caps
        
   URI:
   urn:ietf:params:xml:ns:pidf:caps
        

Description: This is the XML namespace for XML elements defined by RFC 5196 to describe service and device capabilities in application/pidf+xml content type.

描述:这是RFC 5196定义的XML元素的XML名称空间,用于描述application/pidf+XML内容类型中的服务和设备功能。

   Registrant Contact:
   IETF, SIMPLE working group, <simple@ietf.org>
   Mikko Lonnfors, <mikko.lonnfors@nokia.com>
        
   Registrant Contact:
   IETF, SIMPLE working group, <simple@ietf.org>
   Mikko Lonnfors, <mikko.lonnfors@nokia.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>Namespace for PIDF user agent capability
               extension</title>
   </head>
   <body>
       <h1>Namespace for PIDF service capability extension</h1>
       <h2>urn:ietf:params:xml:ns:pidf:caps</h2>
       <p>
         See <a href="http://www.rfc-editor.org/rfc/rfc5196.txt">RFC
         5196</a>.
       </p>
    </body>
        
   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>Namespace for PIDF user agent capability
               extension</title>
   </head>
   <body>
       <h1>Namespace for PIDF service capability extension</h1>
       <h2>urn:ietf:params:xml:ns:pidf:caps</h2>
       <p>
         See <a href="http://www.rfc-editor.org/rfc/rfc5196.txt">RFC
         5196</a>.
       </p>
    </body>
        

</html> END

</html>结束

7.2.  Schema Registration for Schema
      'urn:ietf:params:xml:schema:pidf:caps'
        
7.2.  Schema Registration for Schema
      'urn:ietf:params:xml:schema:pidf:caps'
        
   URI:
   urn:ietf:params:xml:schema:pidf:caps
        
   URI:
   urn:ietf:params:xml:schema:pidf:caps
        

Registrant Contact: IESG

注册联系人:IESG

XML: See Section 6

XML:见第6节

8. Security Considerations
8. 安全考虑

All security considerations specified in [RFC3859] and [RFC3863] apply to this document. Compared to PIDF [RFC3863], this presence document format may reveal additional information about user's service and device capabilities. Thus, the PUA SHOULD always obtain permission from the presentity when publishing sensitive information using this extension.

[RFC3859]和[RFC3863]中规定的所有安全注意事项适用于本文件。与PIDF[RFC3863]相比,此状态文档格式可能会显示有关用户服务和设备功能的其他信息。因此,当使用此扩展发布敏感信息时,PUA应始终获得存在实体的许可。

9. Acknowledgments
9. 致谢

Authors of this document would like to thank the following people for their contributions and valuable comments: Paul Kyzivat, Jonathan Rosenberg, Markus Isomaki, Eva Leppanen, Miguel Garcia, Jari Urpalainen, and Hisham Khartabil.

本文件的作者要感谢以下人士的贡献和宝贵意见:保罗·基齐瓦特、乔纳森·罗森博格、马库斯·伊索马基、伊娃·莱帕宁、米格尔·加西亚、贾里·乌帕莱宁和希沙姆·哈塔比尔。

10. References
10. 工具书类
10.1. Normative References
10.1. 规范性引用文件

[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) part one: Format of Internet Message Bodies", RFC 2045, November 1996.

[RFC2045]Freed,N.和N.Borenstein,“多用途Internet邮件扩展(MIME)第一部分:Internet邮件正文格式”,RFC 20451996年11月。

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

[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages", BCP 18, RFC 2277, January 1998.

[RFC2277]Alvestrand,H.,“IETF字符集和语言政策”,BCP 18,RFC 2277,1998年1月。

[RFC2913] Klyne, G., "MIME Content Types in Media Feature Expressions", RFC 2913, September 2000.

[RFC2913]Klyne,G.“媒体功能表达式中的MIME内容类型”,RFC2913,2000年9月。

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

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

[RFC3840] Schulzrinne, H., Rosenberg, J., and P. Kyzivat, "Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)", RFC 3840, August 2004.

[RFC3840]Schulzrinne,H.,Rosenberg,J.,和P.Kyzivat,“指出会话启动协议(SIP)中的用户代理功能”,RFC 38402004年8月。

[RFC3859] Peterson, J., "Common Profile for Presence (CPP)", RFC 3859, August 2004.

[RFC3859]彼得森,J.,“存在的共同特征(CPP)”,RFC3859,2004年8月。

[RFC3863] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., and J. Peterson, "Presence Information Data Format (PIDF)", RFC 3863, August 2004.

[RFC3863]Sugano,H.,Fujimoto,S.,Klyne,G.,Batman,A.,Carr,W.,和J.Peterson,“状态信息数据格式(PIDF)”,RFC 38632004年8月。

[RFC4479] Rosenberg, J., "A Data Model for Presence", RFC 4479, July 2006.

[RFC4479]Rosenberg,J.,“存在的数据模型”,RFC 4479,2006年7月。

[RFC4646] Phillips, A. and M. Davis, "Tags for Identifying Languages", BCP 47, RFC 4646, September 2006.

[RFC4646]Phillips,A.和M.Davis,“识别语言的标记”,BCP 47,RFC 46462006年9月。

10.2. Informative References
10.2. 资料性引用

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

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

[RFC2778] Day, M., Rosenberg, J., and H. Sugano, "A Model for Presence and Instant Messaging", RFC 2778, February 2000.

[RFC2778]Day,M.,Rosenberg,J.,和H.Sugano,“状态和即时信息模型”,RFC 27782000年2月。

[RFC3860] Peterson, J., "Common Profile for Instant Messaging (CPIM)", RFC 3860, August 2004.

[RFC3860]Peterson,J.,“即时消息的通用配置文件(CPIM)”,RFC3860,2004年8月。

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

[RFC4569] Camarillo, G., "Internet Assigned Numbers Authority (IANA) Registration of the Message Media Feature Tag", RFC 4569, July 2006.

[RFC4569]Camarillo,G.“互联网分配号码管理局(IANA)信息媒体功能标签的注册”,RFC4569,2006年7月。

Authors' Addresses

作者地址

Mikko Lonnfors Nokia P.O. Box 321 Helsinki Finland

芬兰赫尔辛基诺基亚邮政信箱321号Mikko Lonnfors

   Phone: +358 71 8008000
   EMail: mikko.lonnfors@nokia.com
        
   Phone: +358 71 8008000
   EMail: mikko.lonnfors@nokia.com
        

Krisztian Kiss Nokia 313 Fairchild Dr Mountain View, CA 94043 US

Kristian Kiss诺基亚313飞兆儿童山景城博士,美国加利福尼亚州94043

   Phone: +1 650 391 5969
   EMail: krisztian.kiss@nokia.com
        
   Phone: +1 650 391 5969
   EMail: krisztian.kiss@nokia.com
        

Full Copyright Statement

完整版权声明

Copyright (C) The IETF Trust (2008).

版权所有(C)IETF信托基金(2008年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.