2.14 XDM Handling and Shared XDMS / XDM处理和共享XDMS

The support of XDM is an optional functionality for RCS and is only required for Service Providers deploying one of the following services:
XDM的支持是RCS的可选功能,只有部署以下服务之一的对于服务提供商才需要支持,部署的服务包括:

  • The capability discovery based on presence (see section 2.6.1.2).
    基于存在的能力发现(见第2.6.1.2节)。
  • The Personal Network Blacklist (see section 2.15).
    个人网络黑名单(见第2.15节)。
  • Social Presence (see section 3.7).
    社会存在(见第3.7节)。

2.14.1 Shared XDMS template / 共享XDMS模板

Following template shall be used for the resource-lists in the Shared XDMS:
以下模板将用于共享XDMS中的资源列表:

Shared XDMS:
AUID: resource-lists
Document name: index
Template:

<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists" xmlns:xd="urn:oma:xml:xdm:xcap-directory" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <!-- The list oma_buddylist contains references to any individual list used according to OMA IG for presence subscriptions. -->
  <list name="oma_buddylist">
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource-lists/list%5B@name=%22rcs%22%5D"/>
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource- lists/list%5B@name=%22rcs_basic_spi_only%22%5D"/>
  </list>

  <!-- The list rcs_poll_buddylist contains references to individual lists used for RCS non-VIP Contacts -->
  <list name="rcs_poll_buddylist">
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource-lists/list%5B@name=%22rcs_poll%22%5D"/>
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource- lists/list%5B@name=%22rcs_poll_basic_spi_only%22%5D"/>
  </list>

  <!-- The list oma_grantedcontacts contains the list of all granted contacts -->
  <list name="oma_grantedcontacts">
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource-lists/list%5B@name=%22rcs%22%5D"/>
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource-lists/list%5B@name=%22rcs_poll%22%5D"/>
  </list>

  <!-- The list rcs_basic_spi_only_grantedcontacts contains the list of all basic SPI Only granted contacts -->
  <list name="rcs_basic_spi_only_grantedcontacts">
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource- lists/list%5B@name=%22rcs_basic_spi_only%22%5D"/>
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource- lists/list%5B@name=%22rcs_poll_basic_spi_only%22%5D"/>
  </list>

  <!-- The list oma_blockedcontacts contains the list of all blocked contacts. -->
  <list name="oma_blockedcontacts">
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource- lists/list%5B@name=%22rcs_blockedcontacts%22%5D"/>
    <external anchor="http://xcap.gsma.org/resource- lists/users/sip:[email protected]/index/~~/resource- lists/list%5B@name=%22rcs_revokedcontacts%22%5D"/>
  </list>

  <!-- The list of VIP contacts (buddies) the owner wants to provide all social presence information to. This list also includes the owner’s own URI -->
  <list name="rcs">
    <display-name>My presence buddies with location sharing</display-name>
    <entry uri="tel:+1234578901"/>
  </list>

  <!--The list of VIP Contacts (buddies) the owner wants to provide only basic social presence information to-->
  <list name="rcs_basic_spi_only">
    <display-name>My presence buddies without location sharing</display-name>
  </list>

  <!-- The list of NON-VIP Contacts (buddies) the owner wants to provide all social presence information to -->
  <list name="rcs_poll">
    <display-name>My NON-VIP presence contacts with location sharing</display-name>
  </list>

  <!--The list of NON-VIP Contacts (buddies) the owner wants to provide only basic social presence information to-->
  <list name="rcs_poll_basic_spi_only">
    <display-name>My NON-VIP presence contacts without location sharing</display-name>
  </list>

  <!-- The list of blocked contacts -->
  <list name="rcs_blockedcontacts">
    <display-name>My blocked contacts</display-name>
  </list>

  <!-- The list of revoked contacts -->
  <list name="rcs_revokedcontacts">
    <display-name>My revoked contacts</display-name>
    <entry uri="tel:+123456" xd:last-modified="2008-12-24T14:32:14Z"/>
  </list>

  <!—PNB lists -->
  <list name="rcs_pnb_chat_blockedusers">
    <display-name>My chat blacklist</display-name>
  </list>
  <list name=" rcs_pnb_ft_blockedusers">
    <display-name> My file transfer blacklist </display-name>
  </list>
  <list name=" rcs_pnb_standalone_blockedusers">
    <display-name> My standalone blacklist </display-name>
  </list>
  <list name=" rcs_pnb_outchat_blockedusers">
    <display-name>My outgoing chat blacklist</display-name>
  </list>
  <list name=" rcs_pnb_outft_blockedusers">
    <display-name> My outgoing file transfer blacklist </display-name>
  </list>
  <list name=" rcs_pnb_outstandalone_blockedusers">
    <display-name>My standalone IM blacklist</display-name>
  </list>
</resource-lists>

Table 29: Shared Lists template for RCS / 表29:RCS的共享列表模板

NOTE1: The entry in the “rcs_revokedcontacts” list is for illustrative purposes only. It is included as an example since it deviates slightly from the standard list usage. The entry in the “rcs” list is also for illustrative purposes only, showing that the user’s own URI will be included so the user’s clients receive the user’s own presence information (see also section 3.7.4.3.3).
注1:“rcs_revokedcontacts”列表中的条目仅用于说明目的。 它被包括作为一个例子,因为它略微偏离标准列表使用。 “rcs”列表中的条目也仅用于说明目的,显示将包括用户自己的URI,以便用户的客户端接收用户自己的呈现信息(参见第3.7.4.3.3节)。

NOTE2: The resource-list contains only the lists needed for the features allowed by the service provider (e.g. all the lists related to presence should not be added if only PNB is deployed).
注2:资源列表仅包含服务提供商允许的功能所需的列表(例如,如果仅部署PNB,则不应添加与存在相关的所有列表)。

2.14.2 XML Document Handling / XML文档处理

When first started the RCS client shall check through a XCAP directory query whether
当第一次启动时,RCS客户端将通过检查XCAP目录查询是否

  • The “resource-lists” document exists, if Presence or PNB is deployed by the service provider.
    如果服务提供商部署了Presence服务器或者PNB,则存在“resource-lists”文档。
  • The “pres-rules”, “rls-services” and the “pidf-manipulation” (permanent presence state) documents exist, if Presence is deployed by the service provider.
    如果服务提供商部署了Presence服务器,则存在“pres-rules”,“rls-services”和“pidf-manipulation”(永久存在状态)文档。

If they do not exist, the RCS client shall create them if they are applicable (i.e. depending on whether Presence or PNB is deployed as described in the previous bullets). If the documents exist, the RCS client will check whether they comply with the templates defined in sections 2.14.1 and 3.7.4.5.2 by using the following criteria for the documents:
如果它们不存在,则RCS客户端将创建它们(如果它们是可应用的)(即,取决于是否如前面的项目符号中所描述地部署存在或PNB)。 如果文档存在,RCS客户端将通过使用以下标准来检查它们是否符合第2.14.1和3.7.4.5.2节中定义的模板:

  • For the “resource-lists” document, first check whether it contains an “rcs_basic_spi_only” list. If not, add the “rcs_basic_spi_only” and “rcs_basic_spi_only_grantedcontacts” lists to the document and modify the “oma_buddylist” list to refer to both the “rcs” and the “rcs_basic_spi_only” lists.
    对于“资源列表”文档,首先检查它是否包含“rcs_basic_spi_only”列表。 如果没有,请将“rcs_basic_spi_only”和“rcs_basic_spi_only_grantedcontacts”列表添加到文档中,并修改“oma_buddylist”列表以引用“rcs”和“rcs_basic_spi_only”列表。
  • Secondly check whether it contains an “rcs_poll_buddylist” or an “rcs_poll” list. If not, add the “rcs_poll”, “rcs_poll_basic_spi_only” and “rcs_poll_buddylist” lists to the document and modify the “oma_grantedcontacts” list to refer to both the “rcs” and the “rcs_poll” lists and the “rcs_basic_spi_only_grantedcontacts” list to refer to both the “rcs_basic_spi_only” and “rcs_poll_basic_spi_only” lists.
    其次检查它是否包含“rcs_poll_buddylist”或“rcs_poll”列表。 如果没有,请在文档中添加“rcs_poll”,“rcs_poll_basic_spi_only”和“rcs_poll_buddylist”列表,并修改“oma_grantedcontacts”列表以引用“rcs”和“rcs_poll”列表以及“rcs_basic_spi_only_grantedcontacts”列表, “rcs_basic_spi_only”和“rcs_poll_basic_spi_only”列表。
  • For the “rls-services” document, firstly check if the “rcs” service URI entry refers to the “oma_buddylist” list. If the document refers to the “rcs” list instead, the RCS client shall modify it to refer to the “oma_buddylist” list
    对于“rls-services”文档,首先检查“rcs”服务URI条目是否引用“oma_buddylist”列表。 如果文档引用了“rcs”列表,则RCS客户端应修改它以引用“oma_buddylist”列表
  • Secondly, check if it contains an “rcs_poll” service URI entry. If not, an “rcs_poll” service URI entry with a reference to the “rcs_poll_buddylist” in Shared XDMS will be added.
    其次,检查它是否包含“rcs_poll”服务URI条目。 如果不是,将添加对共享XDMS中的“rcs poll buddylist”引用的“rcs poll”服务URI条目。
  • For the “pres-rules” document, check whether it contains the “rcs_basic_spi_only_granted_contacts” rule. If not, the RCS client shall add this rule to the document.
    对于“pres-rules”文档,检查它是否包含“rcs_basic_spi_only_granted_contacts”规则。 如果不是,RCS客户端应该将该规则添加到文档中。
  • For “rcs_pnb_chat_blockedusers”, “rcs_pnb_ft_blockedusers” “rcs_pnb_standalone_blockedusers”, “rcs_pnb_outchat_blockedusers”, “rcs_pnb_outft_blockedusers” and “rcs_pnb_outstandalone_blockedusers” lists in the Shared XDMS, if they do not exist and the PNB MANAGEMENT configuration parameter (see section A.1.3) is set to enabled, they shall be added to the “resource- lists” document.
    对于共享XDMS中的“rcs_pnb_chat_blockedusers”,“rcs_pnb_chat_blockedusers”,“rcs_pnb_standalone_blockedusers”,“rcs_pnb_outchat_blockedusers”,“rcs_pnb_outft_blockedusers”和“rcs_pnb_outstandalone_blockedusers”列表,如果它们不存在并且PNB MANAGEMENT配置参数(参考A.1.3节)被设为启用,应将其添加到“resource-list”文档中。

Once the documents have been setup in this way, the RCS client shall only modify the “rcs”, “rcs_basic_spi_only”, “rcs_poll”, “rcs_poll_basic_spi_only”, “rcs_revokedcontacts” and “rcs_blockedcontacts”, “rcs_pnb_chat_blockedusers”, “rcs_pnb_ft_blockedusers”, “rcs_pnb_standalone_blockedusers”, “rcs_pnb_outchat_blockedusers”, “rcs_pnb_outft_blockedusers” and “rcs_pnb_outstandalone_blockeduserslists” in the “resource-lists” document. Only if the user explicitly requests to recreate the documents according to the possibility described below, the other documents and parts of the “resource-lists” document should be modified.
一旦以这种方式建立了文档,RCS客户端将只修改“rcs”,“rcs_basic_spi_only”,“rcs_poll”,“rcs_poll_basic_spi_only”,“rcs_revokedcontacts”,“rcs_blockedcontacts”,“rcs_pnb_chat_blockedusers”,“rcs_pnb_ft_blockedusers” “资源列表”文档中的“rcs_pnb_standalone_blockedusers”,“rcs_pnb_outchat_blockedusers”,“rcs_pnb_outft_blockedusers”和“rcs_pnb_outstandalone_blockeduserslists”。 只有当用户根据下述可能性明确地请求重新创建文档时,才应修改“resource-lists”文档的其他文档和部分。

XDM documents can be updated without the involvement of the RCS client of this RCS release. Two types of changes are possible:
XDM文档可以在不涉及此RCS版本的RCS客户端的情况下更新。 可能有两种类型的更改:

  1. Shared lists are updated by adding new entries, removing entries or updating entries.
    共享列表通过添加新条目,删除条目以更新条目来更新。
  2. Structural changes to the documents (for example to support new options in the presence authorisation).
    对文档的结构性更改(例如,支持存在授权中的新选项)。

In case 1, in order not to overwrite changes done for example by another client, either a conditional update should be done (per XCAP conditional operations as defined in [RFC4825] section 7.11) or the client should retrieve the latest status of the document before doing the update. An RCS client of this RCS release shall support one of these options when updating XDM documents.
在情况1中,为了不覆盖例如由另一客户端所做的改变,应当进行条件更新(根据[RFC4825]第7.11节中定义的XCAP条件操作),或者客户端应该检索文档的最新状态 做更新。 此RCS版本的RCS客户端在更新XDM文档时应支持这些选项之一。

Case 2 (structural changes to a XDM document) could occur when an RCS client of this RCS version is deployed in a future RCS environment, even though the future RCS version should be backward compatible with previous ones. The RCS client shall go to a read-only mode with regards to all XDM documents when it detects such changes. Future RCS versions will indicate this by renaming the “rcs” shared list. If the list is not renamed, but structural changes were detected in documents in the presence and RLS XDMS, the RCS client will go to read-only mode only for the updated documents. In that case the RCS client indicates to the user that they should use a client with an updated RCS version to carry out commands that require modifying any of such documents.
当在将来的RCS环境中部署该RCS版本的RCS客户端时,可能发生情况2(对XDM文档的结构改变),即使未来的RCS版本应该与先前的RCS版本向后兼容。 当RCS客户端检测到此类更改时,它将关于所有XDM文档转到只读模式。 未来的RCS版本将通过重命名“rcs”共享列表来指示这一点。 如果列表没有重命名,但在存在和RLS XDMS的文档中检测到结构更改,则RCS客户端将仅对更新的文档进入只读模式。 在这种情况下,RCS客户端向用户指示他们应该使用具有更新的RCS版本的客户端来执行需要修改任何这样的文档的命令。

Circumstances where the user downgrades from a future RCS release to the use of an RCS client only, (for example the end-user does not have a client with an updated RCS version or there is some blocked situation between the XDMC and XDMS), the RCS client shall offer the user the possibility to remove all information stored in the XDMS’s, this then creates new documents based on its current status and RCS release. The removal of the documents shall be based on a retrieval of the complete list of documents using XCAP Directory requests and then removing all listed documents (thus including documents unknown to the RCS client of this RCS release) using relevant operation such as XCAP PUT/DELETE.
用户从未来的RCS版本降级到仅使用RCS客户端的情况(例如,最终用户没有具有更新的RCS版本的客户端或者XDMC和XDMS之间存在一些阻塞情况), RCS客户端应向用户提供删除存储在XDMS中的所有信息的可能性,然后根据其当前状态和RCS版本创建新文档。 删除文档应基于使用XCAP目录请求检索完整的文档列表,然后使用相关操作(例如XCAP PUT / DELETE)删除所有列出的文档(因此包括RCS版本的RCS客户端未知的文档) 。

Should a device for its own internal use maintain a local copy of the Shared XDMS’s “resource-lists” document (see section 2.14.1) or the information contained therein, then it shall verify with the Shared XDMS whether its copy is still up to date in the following situations:
如果设备由于自身内部使用需求,要维护一个共享XDMS的“资源列表”文档(参见第2.14.1节)或其中包含的信息的本地副本,那么在以下情况下,它将与共享XDMS验证其副本是否仍然保持及时更新:

  • When the client comes online
    当客户端上线时
  • When it receives a notification within the dialog of its RLS subscription indicating that the subscription to a contact is pending or active and according to the locally maintained information, it is not aware that the user is part of the RCS buddy list.
    当它在其RLS订阅的对话内接收到指示对联系人的订阅处于待定或活动状态的通知时,并且根据本地维护的信息,它不知道用户是RCS好友列表的一部分。

    NOTE1: This situation can occur, when the user invites the contact to share social presence information from another client, or a contact has been added as a VIP-contact from another client.
    注1:当用户邀请联系人分享来自另一个客户端的社交呈现信息或者联系人已作为VIP联系人从另一个客户端添加时,可能会发生这种情况。

  • When it receives a notification within the dialog of its watcher information subscription indicating that a subscription from a contact changed from the “pending” to the “active” or “terminated” state when no action was taken to authorise or block that subscription from the client. The state change to “terminated” should only be taken into account for this case when the event triggering the state change indicates “rejected”.
    当其在其观察者信息订阅的对话内接收到通知时,该通知说明当没有采取动作来授权或阻止来自客户端的订阅时,来自联系人的订阅消息从“pending”改变为“active”或“terminated”状态 。 当触发状态改变的事件指示“rejected”时,在这种情况下,仅应当考虑将状态改变到“terminated”。

    NOTE2: This situation can occur when the user authorises or blocks the subscription from another client.
    注2:当用户授权或阻止来自另一客户端的订阅时,可能会发生此情况。

  • When it receives a notification within the dialog of its RLS subscription indicating that the subscription to a contact that is presence enabled was terminated with reason “timeout” when no action was taken from the client to revoke the presence sharing with that contact.
    当它在其RLS订阅的对话内接收到通知时,该通知说明当客户端没有任何动作来撤销与该联系人的存在共享时,对启用了存在的联系人的订阅因“timeout”原因被终止了,。
  • When it receives a notification within the dialog of its RLS subscription indicating that the subscription to a contact that is presence enabled was terminated with reason “noresource” when no action was taken from the client with that contact.
    当它在其RLS订阅的对话期间接收到通知时,指示当没有从具有该联系人的客户端采取动作时,对已启用联系人的订阅被终止,原因是“noresource”。

    NOTE3: This situation can occur, when the user changes a contact from being a VIP contact to being a non-VIP contact from another client.
    注3:当用户将联系人从VIP联系人更改为来自其他客户端的非VIP联系人时,可能会发生此情况。
    NOTE4: A device is not required to maintain a local copy of the Shared XDMS’s “resource-lists” document. If it does not, for presence it can simply display the presence information it receives and it does not need to access the XDMS.
    注4:设备不需要维护共享XDMS的“资源列表”文档的本地副本。 如果它不存在,它可以简单地显示它接收的存在信息,并且它不需要访问XDMS。

2.14.2.1 Client XML procedures and multi-device / 客户端XML过程和多设备

The XML Document Management Client (XDMC) from the RCS client performs the XCAP Get and Put operations on the Shared List XDMS resource-lists. Once updated by the user, the RCS client shall store the updated version of the document in the Shared List XDMS for further access from his other devices.
来自RCS客户端的XML文档管理客户端(XDMC)在共享列表XDMS资源列表上执行XCAP Get和Put操作。 一旦由用户更新,RCS客户端将在共享列表XDMS中存储文档的更新版本,以便从其他设备进一步访问。

The RCS client shall not cache the document and fetch the latest version of the document from the XDMS prior to displaying the list to the user or enabling them to make modifications in it. The RCS client shall not subscribe to the updates of the document as described in [XDM2.0_Core].
在向用户显示列表之前,RCS客户端不应该缓存文档并从XDMS获取文档的最新版本,或者允许它们对其进行修改。 RCS客户端不应如[XDM2.0_Core]中所述订阅文档的更新。

2.14.2.2 Authorising XCAP Requests / 授权XCAP请求

XCAP requests need to be authorised by the XDMS. This authorisation relies on an assertion of the identity of the requestor of an XCAP request.
XCAP请求需要由XDM授权。 该授权依赖于对XCAP请求的请求者的身份的断言。

The HTTP header fields X-XCAP-Asserted-Identity and X-3GPP-Asserted-Identity used to contain the asserted identity of a requestor of an XCAP request may depend on operational conditions (type of access used by the terminal, Service Provider policy) for example different Service Providers may apply different algorithms to assert the identity of a requestor of an XCAP request. Thus, for any Authorisation check to be carried out by the XDMS, any of both X-XCAP-Asserted-Identity and X-3GPP-Asserted-Identity header fields are accepted as a valid header field containing the asserted identity of the requestor of the XCAP request inside the Service Provider domain.
用于包含XCAP请求的请求者的断言身份的HTTP头字段X-XCAP-Asserted-Identity和X-3GPP-Asserted-Identity可以取决于操作条件(终端使用的访问类型,服务提供者策略) 例如不同的服务提供商可以应用不同的算法来断言XCAP请求的请求者的身份。 因此,对于要由XDMS执行的任何授权检查,接受X-XCAP-Asserted-Identity和X-3GPP-Asserted-Identity两者中的任一个头字段,该头字段包含在服务提供者域内的XCAP请求的请求者的断言身份。

To offer a unique inter-Service Provider interface, the X-3GPP-Asserted-Identity header field is always conveyed between two Service Provider domains, at the NNI interface.
为了提供唯一的服务提供商接口,X-3GPP-Asserted-Identity头字段总是在NNI接口处的两个服务提供商域之间传送。

When the terminal of a watcher requests, via XCAP, some content (for example status-icon, refer to section 3.7.4.4.2.3) associated with the presence document of a presentity, the XDMS of the presentity has to check whether the watcher is authorised to access this content, according to the presentity's presence subscription rules.
当观察者的终端通过XCAP请求时,一些内容(例如状态图标,参见第3.7.4.4.2.3节)与存在实体的存在文档相关联,根据存在实体的在线订阅规则,存在实体的XDMS必须检查观察者是否授权访问此内容。

As defined in sections 2.14.1 and 3.7.4.5.2, amongst others the "rcs" list is granted this permission.
如第2.14.1节和第3.7.4.5.2节所定义,“rcs”列表被授予此权限。

The lists in section 2.14.1 can contain both SIP URI and tel URI address of authorised watchers in a Service Provider domain. To ensure both cases at the NNI interface, the “X- 3GPP-Asserted-Identity“ of the initiator of an XCAP request should contain both the sip URI and tel URI of this user.
第2.14.1节中的列表可以包含服务提供商域中的授权观察者的SIP URI和tel URI地址。 为了确保NNI接口处的两种情况,XCAP请求的发起者的“X-3GPP-Asserted-Identity”应该包含该用户的sip URI和tel URI。

results matching ""

    No results matching ""