YD/T 2936-2015 扩展消息与表示协议 (XMPP) 即时消息与表示

YD/T 2936-2015 XMPP (Extensible Messaging and Presence Protocol) is an instant messaging and presence protocol

行业标准-邮电通信 简体中文 现行 页数:79页 | 格式:PDF

基本信息

标准号
YD/T 2936-2015
标准类型
行业标准-邮电通信
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2015-07-14
实施日期
2015-10-01
发布单位/组织
工业和信息化部
归口单位
-
适用范围
-

发布历史

研制信息

起草单位:
起草人:
出版信息:
页数:79页 | 字数:- | 开本: -

内容描述

ICS33.100.70

L79

¥D

中华人民共和国通信行业标准

YD/T2936-2015

扩展消息与表示协议(XMPP)

即时消息与表示

Extensiblemessagingandpresenceprotocol(XMPP)

—Instantmessagingandpresence

2015—07—14发布2015-10_01实施

中华人民共和国工业和信息化部发布

YD/T2936-2015

目次

••争蜃■♦#■#»拿♦拿•》••»•_•*»»■•*■■«■«•■_«■丄丄工

曰.................................................................*

e0«oe«»«ft0esft«»a«eefrAeo«fteBft〇ee0AC0«o»6ee0q««B9»0«〇0*<l

十/卜^|J|JH:a«9««««B9e«vee0eDeBeB«ft«0fie«ee«6«eoefl〇eaoeee«e««0e«〇99e•丨■•9«_«_»»»»»««**««9丨《«1

............……,……………1

■e9〇»ooeo〇oQaB9a9«o»9a«fla»ae9〇e〇0ett«o«eeo«a«oe«oea»e»ee«flBBe«»iiB»»e««o.......................................................2

....................................................................................................................2

刀JJ"*于.甲■*■_««••■■«»«««■»••«_■*»»♦••••■#蜃

6.1概述.............................................................•••鲁•««■«■«

6.2语法和语义....................................................

63日、J’白勺刀刀-e«e»»«eB»®»»e®Be»««»e»*e«»«»BBBe«»9〇ft«e9«eoo««0〇efl〇««tt009aft«d»A〇«oo«e«eBS*B0B»o«o«efla«0^

««a»00a0〇e»〇0〇〇0A»«oo*«i»«sce«««ft««o«〇6»««esoos0««B»v8

65圓f刀JJ-||ft*••鲁聲勢

66—*•^v'^^丨v刀刀-|~|••••••■••••«••<■••••••>■■«<•><«•••*•••••••••

6.7名册版本....................................................

管理表不订阅........................................................»»»»♦•_••««•»_■♦拿•_♦«•«•»«■«»••»»#*■»»參《«■»•■•»■•_»17

7.1概述….............................................................................................

«•••«»♦0•钃《»»♦•«#»♦••&•■•令7

3^/|-^-J——**|^」~••0««««««»«9e«fl«»e«Bfle««e»eft<ie««0B〇a9e«eoao«ae〇0fl9n^

74"B«e«««a»eo«ftefte6«ea*»«te»»eae«e«»a«oe»9e««v9»vvBeB«B««e«

|^J...............................................28

.............................................30

交换表不信息..........................................................................................................32

81J■•»*•••«•••«••••••••••••«»•••••««»•*««••«•«•»•«•••

于甲*.............................................32

8.2初始化表7K.............................................................

83^jji||ja«oeoe〇9e〇eeB»ee»«eeeooefl»«BQeo〇Q»9«»eefl«ee»sooee«o^

84j|^yTp^j-、-■#•••••••••■«••«»•••««««••«•*•«•••••••••••*••••9〇ae«e«eeefieoeseeeeflffe«»0a0»e0〇ft«ooen«9eeoeBe0〇no«fl^^

85门j.Jjjl^j^J、Q«««ees«eoe9fl〇esfl0a〇0ee««9«e9ae««e6««o〇«9699««0#*e〇Q0e»09««eB〇aaeooeeo«oeooen〇nQ9a«6B0«A«B«oeene^«o«*9^

86^|pjJ乂aeBe»eo«eee〇oeA0e〇fi〇a«»efi〇A«oe〇0eeeoeo«an9eooe9eB»o^

8.7表不语法"...............................-...................

»e99ee0ee〇e9〇«e«»eao»A«0ea««ee«»o«oo»e〇«9eefle«a9««0^

交换消息•..........................................................

9.1概述...............................................................................................................45

92--------*又」----------•...............................................................................................................................45

93工产丨:暑*••畢••肇•■■»«»»_•_■•_■»導《■«96eve0««9««e9»Ae««»ovo««ie«eoo«««««B»eea«e9flB»«eeee〇0/|^

s«»«6e«eeee〇«««afte«B«e«eoi>eoo»e9〇0a〇Bfl«9〇»«0«e««efl«e^^

YD/T2936-2015

10交衡Ql.............................................……......................-51

11一个示例会话……………51

]2服务器处理XML节的规则..................…………•…….........................……57

12.1一船生輔........................57

12.2没有“to,,地址......................................................……..........58

12.3远程域........................................58

12.4本地域........................................................................"58

12.5本地用户....................................……...........................……58

13URIs的处理.........................................................................62

14国际化事项……........................................................62

15安全性事项…”...............…••….•.…62

16—致性要求............……............•••................................•••••....63

附录A(规范性附录)订阅状态.......................••••*......................-67

附录B(资料性附录)通信阻塞….........72

附录C(资料性附录)vCards........................................••••••..........73

附录D(资料性附录)‘jabber:iq:roster’的XML规划…….......*..............................“74

YD/T2936-2015

本标准是XMPP系列标准之一,本系列标准的名称和结构预计如下:

一一扩展消息与表示协议核心协议;

一一扩展消息与表示协议即时消息与表示;

——扩展消息与表示协议地址格式;

一一扩展消息与表示协议端到端的签名与对象加密。

本标准按照GB/T1.1-2009给出的规则起草。

请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。

本标准由中国通信标准化协会提出并归口。

本标准起草单位:重庆邮电大学、中国信息通信研究院、国家电网公司信息通信分公司。

本标准主要起草人:谢昊飞、王浩、蔡林沁、唐晓铭、李瑞雪、罗志勇、魏旻、王恒、飞、

赵锋、刘建明、陈星、张炎、谢金凤。

III

YD/T2936-2015

扩展消息与表示协议(XMPP)

即时消息与表示

1范围

本标准规定了扩展消息与表示协议(XMPP)的即时消息与表示的通信规则,用于使任意两个或多

个的网络实体间能够进行准实时结构的未扩展数据交换,以便于实体能够获得更详尽的结构信息。

本标准适用于即时通讯系统。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文

件。凡是不注日期的引用文件.其最新版本(包括所有的修改单)适用于本文件。

YD/T2935扩展消息与表示协议(XMPP)核心协议

IETFRFC2779即时消息协议需求(InstantMessaging/PresenceProtocolRequirements)

IETFRFC3861即时消息与表示的地址解决方法(AddressResolutionforInstantMessagingand

Presence)

IETFRPC3987国际化资源标识符(InternationalizedResourceIdentifiers(IRIs))

IETFRFC4422简单认证与安全层协议(SimpleAuthenticationandSecurityLayer(SASL))

IETFRFC5122针对XMPP的IRls和URIs(InternationalizedResourceIdentifiers(IRJs)and

UniformResourceIdentifiers(URIs)fortheExtensibleMessagingandPresence

Protocol(XMPP))

IETFRFC524传输层控制协议(TheTransportLayerSecurity(TLS)ProtocolVersion1.2)

IETFRFC6121扩展消息与表示协议(XMPP)即时消息与表示(ExtensibleMessagingand

PresenceProtocol(XMPP):InstantMessagingandPresence)

XSFXEP-0016隐私名单(PrivacyLists)

XSFXEP-0045多用户聊天协议(Multi-UserChat)

XSFXEP-0071XHTML即时消息(nXHTML-IM)

XSFXEP-0115实体能力(EntityCapabilities)

XSFXEP-0191简单通信阻塞(SimpleCommunicationsBlocking)

XSFXEP-0237登记版本(RosterVersioning)

3缩略语

下列缩略语适用于本文件。

IQInfo/Query信息/查询

IRIsInternationalizedResourceIdentifiers国际化资源标识符

JIDJabberIdentifier标识符

SASLSimpleAuthenticationAndSecurityLayer简单认证和安全层协议

TLSTransportLayerSecurity传输层安全协议

1

YD/T2936-2015

URIsUniformResourceIdentifiers统一资源标识符

ExtensibleMarkupLanguage可扩展标记语言

XMPPExtensibleMessagingandPresenceProtocol扩展消息与表亦协议

4需求

从习惯上说,即时通信应用结合了以下几个因素。

a)聚集的中心是一个联系人或好友的列表(在XMPP中,这个列表被称为“名册”);

b)使用这种应用程序的目的是实现准实时的与特定的联系人交换简短的文本消息,通常大部分这种

消息是连续的,并以本标准5.1描述的一对一“聊天会话”的形式进行;

c)这种消息的交换是基于“表示”的,例如,关于某个特定联系人的网络可用性的消息(由此知道

进行一对一聊天会话的联系人有哪些是在线或可用的);

d)表示消息只提供给那些明确通过认证的联系人,叫做“表示订阅”^

因此本标准在较高的级别上假设用户必须能够完成以下使用案例:

*管理联系人列表中的条目

*与联系人交换信息

•与联系人交换表示信息

*管理发给联系人的或从联系人收到的表示订阅

这些领域的功能详细定义在IETFRFC2779中,感兴趣的用户可以直接阅读原文关于需求方面更深入

的内容。虽然基于XMPP的即时消息和表示信息符合RFC2779的要求,但它不是特意为那种协议设计的,因

为基础协议是在RFC2779成文之前通过Jabber开放源代码社区的一个开放的开发过程发展出来的。尽管

XMPP标准委员会在“XEP”系列协议中定义了许多其他方面的功能(如XSFXEP-0045中描述的多用户

文本聊天),但是这些协议不包含在本标准之中,因为它们不是RPC2779所规定的。

实现注意事项:IETFRFC2779规定表示服务应与即时通信分离。例如,它应尽可能地用这个协议来提

供一个表示消息服务、一个即时消息服务,或同时提供两者。尽管本标准假定实现和部署希望提供统一

的即时消息和表示消息服务,但没有要求一个服务应同时提供表示消息服务和即时消息服务,并且协议

也提供了把表示消息服务和即时消息服务分离成为独立服务的可能性(如当一个客户端尝试发送一个

<message/>节时,一个只提供表示的服务可以返回一个〈service-unavailable/〉的节错误)。

5功能概述

本章提供给了基于XMPP的即时通信和表示特征的功能总结。

YD/T2935《扩展消息与表示协议(XMPP)核心协议》规定了一个XMPP客户端如何连接到XMPP

服务器。特别是,其指定了客户端给其他的XMPP网络实体发送XML节(XMPP中的基本单元)之前应

完成的先决条件。这些先决条件由XML流协商组成,并包括XML流头部的交换,可选的通过传输层安全

协议(TLS)保障的通道加密,通过SASL保障的强制认证,以及为客户端寻址的流绑定资源。

兼容性要求:规定了一个额外的先决条件:正式建立一个即时通信和表示会话。实现和部署经验表

明这个先决条件是必不可少的。然而,为了向后兼容,一个实现仍然提供这种功能。这使得旧的软件在

能连接上网络的同时也能使新软件节省交互过程。

2

YD/T2936-2015

当实现YD/T2935《扩展消息与表示协议(XMPP)核心协议》中规定的先决条件时,一个XMPP

客户端和XMPP服务器之间会有一个长久的XML流交互,这使得用户能够通过发送和接收流来控制客户

端可能存在的无限数量的XML节。这种流能用来交换消息、分享表示信息以及准实时的方式进行结构化

请求-响应交互。在XML流协商以后,即时通信和表示会话的通用流如下所述。

a)获取花名册;

b)发送初始化表示消息给服务器,服务器广播给所有订阅的联系人,这样就从XMPP通信的角度“上

线”了;

c)交换消息、管理表示订阅、完成名册更新以及在会话期间的一般过程和用特殊的语法生成其他的

XML节;

d)当发送不可用的表示信息时,终止会话并关闭XML流。

6名册管理

6.1概述

在XMPP中,用户的联系人列表称为名册,包括任意数量的特定名册条目。每个用户的名册存储在用

户的服务器上,从而这个用户可以从任何资源访问该名册信息。当用户在名册中增加条目或者修改己存

在的条目时,如果没有错误发生,那么服务器应存储修改的数据,并且当一个通过认证的客户端请求名

册时应返回它存储的数据。

安全性注意事项:由于用户的名册可能包含机密资料,服务器应限制对这些数据的访问,因此,只

有授权的实体(通常仅限为账户的所有者)才能获取、修改或删除这些数据。

假设只有存储用户名册的地方才是用户注册账户的服务器,用户只有通过这个服务器才能通过认证

并访问网络。本标准中删除了名册存储、账户注册和网络认证之间必须严格匹配的规则,导致用户可以

把它们的名册存储在另一个地点,或者能将多个名册存储在多个地点。然而,由于缺少实施和部署更加

灵活的名册存储模型的经验,使用“客户端”和“服务器”(用“联系人名单”取代“某一个联系人名

单”),而不是采用新的术语代替“用户存储名册的地点”。未来的规范中可能会为无服务器名册存储

或多名册管理提供规范的规则,但这种规则不在本标准的范围之内。

6.2_语法和语义

6.2.1版本属性

版本属性是一个用于识别特定版本的名册信息的字符串。它应由服务器生成,并被客户端视为不透

明。服务器可以采用任何适当的方法生成版本号,比如说名册数据中的哈希表或者是严格递增的序列号。

本标准建议包含版本号属性。

对于版本属性的使用在6.6中有详细介绍。

兼容性要求:<qUery/>元素中的版本属性在本标准中是最新定义的。

6.2.2名册条目

一个名册中的<query/>元素可以包含一个或多个<item/>子元素。每个<如111/>子元素描述一个唯一的

“名册条目”(有时候也称为“联系人”)。

<item/>条目子元素的语法在下面的章节中描述。

Approved属性

3

YD/T2936-2015

“Approved”属性是一个布尔对象,“真”值用在7.4节所描述的预先批准的订阅信息中(默认的值

是“假”,这与[XML-DATATYPES]保持一致)。

服务器在给客户端发布预先批准的订阅应包含“Aror〇Ved”属性。客户端在发给服务器的名册设置

中不能包含“Approved”属性,但是应用类型为“subscribed”和“unsubscribed”的表示节来管理下面

(7.4)提到的预先批准的信息作为替代。

兼容性要求:〇^111/>元素中的“apprved”属性在本标准中是最新定义的。

Ask属性

<item/>元素中包含“订阅”值的“ask”属性用在各种包含“等待”状态的订阅子状态中,见7.1.2。

服务器应该包含“ask”属性来告知客户端“等待”子状态。客户端在发送给服务器设置名册信息中

不能包含“ask

定制服务

    推荐标准

    相似标准推荐

    更多>