1. 程式人生 > >rfc 3265 基於SIP協議的事件通知框架

rfc 3265 基於SIP協議的事件通知框架

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,(the session initiation protocol for instant messaging and presence leveraging extensions)即 基於SIP協議的線上狀態及即時通訊(IM).

參考: