rfc 3265 基于SIP协议的事件通知框架

本文来自csdn lidphttp://blog.csdn.net/perfectpdl,转载注明出处,谢谢。

rfc3265为 SIP协议的一个扩展,定义了一套在SIP协议上实现事件订阅及通知的框架,一个例子,类似QQ好友状态,你订阅你的好友的状态,你好友会通知你他的状态,当然这中间涉及服务器,但基本原理是这样。


此框架涉及订阅者和通知者,基本流程:

Subscriber          Notifier
       |-----SUBSCRIBE---->|     订阅者订阅对方状态
       |<-------200--------|     接收者接到后给予确认
       |<------NOTIFY----- |     接收者确认后立即返回订阅的状态给对方
       |--------200------->|
       |<------NOTIFY----- |     订阅者收到后返回200 ok确认。
       |--------200------->|

类似 SIP协议里的注册行为,订阅也有刷新,初始订阅有expire头指定订阅失效时间,这期间内订阅者会周期发送订阅请求,如果在指定expire时间内通知者没收到订阅刷新,不会再通知对方状态。


此规范引入两个新SIP方法,subscribe和notify,订阅者发起SUBSCRIBE, 其消息头event标识要订阅的事件类型,比如状态(Presence, RFC 3842),message-summary等。


通知着 以NOTIFY响应,其消息头subscribe-state指定订阅者状态,有三种,active,pending,terminate.

通过消息体传送具体事件信息,一般为xml格式。


类似注册,订阅者通过发送 expire是0的subscribe取消订阅,通知者立即发送notify,subscribe-state头指定状态为terminate,停止订阅。


此协议结合 rfc 3856,rfc3428共同定义了 simple,(thesession initiation protocol for instant messaging and presence leveraging extensions)即 基于SIP协议的在线状态及即时通信(IM).

参考:

http://en.wikipedia.org/wiki/SIMPLE

http://tools.ietf.org/html/rfc5638




你可能感兴趣的:(框架)