基于SIMPLE协议的Presence介绍[1]
来源:互联网 发布:微信拓客裂变系统源码 编辑:程序博客网 时间:2024/06/10 17:28
基于SIMPLE协议的Presence介绍[1]
E-mail: macrofox@163.com QQ:18902388 MSN: ming_wy@hotmail.com
目 录
基于SIMPLE协议的Presence介绍... 1
1.概述... 3
2.基于SIMPLE协议的presence体系结构... 3
3.SIMPLE规范阅读指南... 5
4.典型消息流程... 6
4.1 订阅好友列表... 7
4.1.1情景说明... 7
4.1.2 SIP消息流程图... 8
4.1.3 消息流说明... 8
4.2 订阅单个用户(添加好友)... 20
4.2.1 情景说明... 20
4.2.2 消息流程图... 21
4.2.3 消息流说明... 21
4.3 订阅watcherinfo. 24
4.3.1 情景说明... 24
4.3.2 SIP消息流程图... 25
4.3.3 消息流说明... 25
4.4 发布状态信息... 27
4.4.1 情景说明... 27
4.4.2 SIP消息流程图... 28
4.4.3 消息流说明... 28
4.5 删除好友... 33
4.5.1 情景说明... 33
4.5.2 消息流程图... 33
4.5.3 消息流说明... 33
4.6 添加和删除黑名单... 34
4.6.1 情景说明... 34
4.6.2 消息流程图... 34
4.6.3 消息流说明... 35
5.参考规范... 35
6.文档更新记录... 36
1.概述
“presence”,也作“presence information”,中文一般译为“呈现”,用以传达某一用户通过一组设备进行通信的能力和意愿。拿常见的MSN Messenger来举例,MSN v7.5为用户提供的可选状态有:联机、忙碌、马上回来、离开、接听电话、外出就餐和显示为脱机。这些状态便称为“presence状态”,它们表征了用户当前处于的某种状态和用户进行通信的意愿。同时,这些状态还反映出与该用户进行通信的能力,比如若用户处于“脱机”状态的话,别的用户便不能用即时消息与之通信。因此,一个最简单的presence过程如下:一个用户(称为watcher)订阅(SUBSCRIBE)他感兴趣的另一用户(presentity)的presence状态,presentity接受订阅请求。以后presentity的状态发生变化之后他会发布(PUBLISH)自己的新状态,这个新状态会通知(NOTIFY)给watcher。(注:watcher、presentity等概念严格上来说指网络中的通信实体,这里为了解释方便将他们进行了扩展,也泛指人)
随着市场对presence和IM(即时通信)的需求日益增大,各种各样的实现也如雨后春笋般冒了出来。但是目前市场上的大部分实现一般都采用私有协议,相互之间不兼容,呈现功能实现的也不完整。为了对presence和IM规范化,IETF在1998年成立了IMPP(Instant Message and Presence Protocol)工作组,希望设计出健壮、安全和灵活的呈现/即时消息协议。IMPP主要定义必要的协议和数据格式,用来构建一个具有空间接收、发布能力的即时信息系统。现在已经提出了各种不同的协议草案或建议,如:SIMPLE、XMPP、PRIM和APEX等。其中,最有实力的是前两个标准,目前的IM/presence也主要分为两大阵营:SIP/SIMPLE和JABBER/XMPP。本文主要介绍基于SIMPLE的presence。
2.基于SIMPLE协议的presence体系结构
SIMPLE规范是在2001年2月由IETF SIMPLE工作组正式提出的,全称为 SIP Instant Messaging and Presence Leveraging Extensions (针对即时消息和呈现业务的利用扩展的会话初始化协议),是SIP协议针对IM/presence的扩展。
SIMPLE是目前为止制定的较为完善的一个规范,微软和IBM都致力于在它们的即时通讯系统中实现这个协议。
SIMPLE符合RFC2778提出的presence模型,其结构图如下:
Figure 1 presence model
注:上面的实体都是功能实体,与实际实现中的物理实体往往有差别。
各实体功能如下:
Ø Presence Service:接收、存储和分发presence information。Presence Service既可以是一个物理实体上的server,也可以只是presentity和watcher之间的直接通信。在具体实现中前者比较常见,后者是P2P的模式。
Ø Presentity:用于提供presence information给Presence Service。
Ø Watcher:向Presence Service请求获取Presentity的presence information或者自身的watcher information。
Ø Principal:指单个的人、程序或者设备,也可以是人、程序、设备的集合体。对于Presence Service来说,各个Principal是不同的。
Ø Presence User Agent:为Principal提供手段来操作0个或者多个Presentity,Principal操作Presence User Agent改变Presentity的状态。是Principal和Presentity交互的interface。
Ø Watcher User Agent:类似Presence User Agent,Principal通过其来操作0个或多个Watcher,Watcher收到Presentity的新状态之后也通过Watcher User Agent呈现给Principal。
Ø Presence Protocol:定义了Presentity和Presence Service,Watcher和Presence Service之间交换消息的一组标准。
在具体的实现中最常见的是把Presence Service实现为一个Presence Server,Presence User Agent和Presentity组合在一起,Watcher和Watcher User Agent组合在一起,由一个终端来同时支持这两种组合体,这样,一个终端就既能订阅别人的也能发布自己的presence information。
- 基于SIMPLE协议的Presence介绍[1]
- 1.概述 2.基于SIMPLE协议的presence体系结构
- SIMPLE协议学习(2):RFC3863中对PIDF(presence information data format)的设计考虑
- 基于P2P-SIP的Presence业务
- XMPP协议中关于presence的相关文档研究
- Presence
- 群聊协议发送的真正的(Message、IQ、presence)等 xmpp(一)
- 群聊协议发送的真正的(Message、IQ、presence)等 xmpp(二)
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- SIMPLE协议
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(一)
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(二)
- net中的正则表达式使用高级技巧 (二)
- .net中的正则表达式使用高级技巧 (三)
- .net中的正则表达式使用高级技巧 (四)
- ASP.NET 2.0 的内部变化
- SIP标准制定状态[英]
- 基于SIMPLE协议的Presence介绍[1]
- Power over Ethernet工作原理
- 2005年最过耳难忘的好声音-才女肖燕《女儿香》
- TCP三次握手及原理
- url传递中文的解决方案总结
- TCP三次握手及原理
- UDT协议-基于UDP的可靠数据传输协议
- 韩国美女BOA(宝儿)精彩MTV大放送
- <Somebody else> 好听,不错!