專利名稱:一種實現(xiàn)呈現(xiàn)業(yè)務的方法和互連網(wǎng)關(guān)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別是涉及一種實現(xiàn)呈現(xiàn)業(yè)務的方法和互連網(wǎng)關(guān)。
背景技術(shù):
呈現(xiàn)業(yè)務是一種通訊業(yè)務,用戶可以通過訂閱其他用戶的呈現(xiàn)信息,來了 解被訂閱用戶的狀態(tài),例如是否在線,在做什么等等,從而為用戶是否發(fā)起與 該被訂閱用戶的通話或其他交流方式提供有效信息。
目前,有兩種現(xiàn)有技術(shù)方案可以實現(xiàn)基于XMPP ( Extensible Messaging and Presence Protocol,可擴展消息和呈現(xiàn)協(xié)議)協(xié)議的呈現(xiàn)業(yè)務和基于SIMPLE ( SIP Instant Message and Presence Leveraging Extensions, SIP即時消息和呈現(xiàn)支持擴 展)協(xié)議的呈現(xiàn)業(yè)務互連。
現(xiàn)有技術(shù)中,當XMPP用戶訂閱SIMPLE用戶的呈現(xiàn)信息時的流程如圖1 所示?;ミB網(wǎng)關(guān)將XMPP用戶的訂閱請求轉(zhuǎn)換成SIMPLE訂閱請求,將SIMPLE 成功訂閱響應轉(zhuǎn)換成XMPP訂閱成功響應,將SIMPLE呈現(xiàn)通知轉(zhuǎn)4奐成XMPP 呈現(xiàn)通知,在SIMPLE訂閱到期之前,刷新SIMPLE側(cè)訂閱,如果收到XMPP 側(cè)發(fā)送的XMPP用戶不在線的呈現(xiàn)通知,則發(fā)送SIMPLE側(cè)去訂閱請求,等待 XMPP呈現(xiàn)服務器發(fā)送探針請求時,重新發(fā)送SIMPLE訂閱請求;可選的,為 了防止不信任呈現(xiàn)服務器的放大攻擊,互連網(wǎng)關(guān)刷新訂閱之前需要發(fā)送探針請 求,獲取XMPP呈現(xiàn)服務器應答。
而當SIMPLE用戶訂閱XMPP用戶的呈現(xiàn)信息時的流程如圖2所示。SIMPLE 觀察者發(fā)送訂閱請求,請求訂閱XMPP呈現(xiàn)者的呈現(xiàn)信息,訂閱請求經(jīng)過 SIMPLE觀察者的歸屬SIMPLE呈現(xiàn)服務器,到達互連網(wǎng)關(guān),互連網(wǎng)關(guān)將SIMPLE 訂閱請求轉(zhuǎn)換成XMPP訂閱請求,發(fā)送給XMPP呈現(xiàn)者歸屬呈現(xiàn)服務器,XMPP呈現(xiàn)者歸屬呈現(xiàn)服務器將XMPP訂閱請求發(fā)送給XMPP呈現(xiàn)者客戶端,XMPP呈 現(xiàn)者授權(quán)該訂閱,返回允許訂閱響應,XMPP呈現(xiàn)服務器返回訂閱成功響應,
現(xiàn)呈現(xiàn)服務器發(fā)送給SIMPLE觀察者;互連網(wǎng)關(guān)接收XMPP呈現(xiàn)服務器發(fā)送的 XMPP用戶的呈現(xiàn)信息,轉(zhuǎn)換成SIMPLE呈現(xiàn)通知發(fā)送給SIMPLE觀察者; SIMPLE觀察者決定終止訂閱,發(fā)送去訂閱請求,互連網(wǎng)關(guān)將去訂閱請求轉(zhuǎn)換成 XMPP取消訂閱請求,返回成功響應。
發(fā)明人在發(fā)明創(chuàng)造的過程中發(fā)現(xiàn),由于XMPP協(xié)議和SIMPLE協(xié)議的訂閱呈 現(xiàn)業(yè)務的機制有所不同,現(xiàn)有技術(shù)實現(xiàn)基于XMPP協(xié)議的呈現(xiàn)業(yè)務和基于 SIMPLE協(xié)議的呈現(xiàn)業(yè)務互連時,導致網(wǎng)絡資源存在浪費的問題,某些情況下也 改變了XMPP用戶和SIMPLE用戶的原有體驗,使得用戶明顯覺察到訂閱不同域 用戶帶來的差異性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供了一種訂閱用戶呈現(xiàn)信息的方法、互連網(wǎng)關(guān), 減少對網(wǎng)絡資源的浪費。
本發(fā)明實施例是通過以下技術(shù)方案實現(xiàn)的
本發(fā)明實施例提供一種XMPP用戶訂閱SIMPLE用戶呈現(xiàn)信息的方法,包
括
接收XMPP側(cè)用戶發(fā)送的訂閱SIMPLE用戶的訂閱請求或者〗果針請求;
根據(jù)所述的訂閱請求或探針請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè) 用戶對所述SIMPLE用戶的訂閱;
如果存在,則根據(jù)所述已存在的SIMPLE側(cè)訂閱的訂閱狀態(tài)向XMPP側(cè)發(fā) 送相應的響應消息。
本發(fā)明實施例提供一種SIMPLE用戶訂閱XMPP用戶呈現(xiàn)信息的方法,包
括
13接收SIMPLE側(cè)用戶發(fā)送的訂閱XMPP側(cè)用戶的訂閱請求; 才艮據(jù)所述的訂閱請求判斷SIMPLE側(cè)是否已存在所述SIMPLE用戶對所述
XMPP用戶的訂閱;
如果存在,則根據(jù)所述已存在的SIMPLE側(cè)訂閱狀態(tài)向SIMPLE側(cè)發(fā)送相
應的響應消息。
本發(fā)明實施例提供一種SIMPLE用戶訂閱XMPP用戶呈現(xiàn)信息的方法,包
括
接收SIMPLE用戶發(fā)送的訂閱XMPP用戶的訂閱請求;
當互連網(wǎng)關(guān)保存有所述SIMPLE用戶訂閱所述XMPP用戶的訂閱關(guān)系時, 根據(jù)所述的訂閱關(guān)系確定XMPP側(cè)訂閱狀態(tài)為激活態(tài),或當互連網(wǎng)關(guān)未保存所 述SIMPLE用戶訂閱所述XMPP用戶的訂閱關(guān)系時,將所述訂閱請求發(fā)送給 XMPP側(cè),并根據(jù)收到的XMPP側(cè)訂閱響應判斷XMPP側(cè)的訂閱狀態(tài)為激活態(tài) 時,則向SIMPLE側(cè)發(fā)送訂閱成功響應;
在設定的時間內(nèi)未收到XMPP側(cè)呈現(xiàn)通知,則向SIMPLE側(cè)發(fā)送呈現(xiàn)通知, 表明XMPP用戶不在線。
本發(fā)明實施例提供一種互連網(wǎng)關(guān),包括
請求接收單元,用于接收XMPP側(cè)用戶發(fā)送訂閱SIMPLE側(cè)用戶的訂閱請 求消息或探針請求;
第一判斷單元,用于根據(jù)所述XMPP訂閱請求或XMPP探針請求判斷
存在,則將所述已存在的訂閱狀態(tài)通知響應單元;
響應生成單元,用于4艮據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的XMPP側(cè)響應消
自
發(fā)送單元,用于將將所述XMPP側(cè)響應消息發(fā)送給XMPP側(cè)。 本發(fā)明實施例提供了一種互連網(wǎng)關(guān),包括
訂閱請求接收單元,用于接收SIMPLE用戶發(fā)送的訂閱XMPP用戶的訂閱請求;
第一判斷單元,用于根據(jù)所述SIMPLE側(cè)訂閱請求判斷SIMPLE側(cè)是否已 存在所述SIMPLE側(cè)用戶對所述XMPP側(cè)用戶的訂閱,若存在,則將所述已存 在的訂閱狀態(tài)通知響應生成單元;
響應生成單元,用于才艮據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的SIMPLE側(cè)響應消
自
發(fā)送單元,用于將所述SIMPLE側(cè)響應消息發(fā)送給SIMPLE側(cè)。 由此可見,本發(fā)明具有以下優(yōu)點
在本發(fā)明中,由于互連網(wǎng)關(guān)在接收到訂閱請求或者探針請求時,判斷 SIMPLE側(cè)是否存在相同的訂閱,當存在相同訂閱的情況下,直接根據(jù) SIMPLE側(cè)的訂閱狀態(tài)進行相應的處理,節(jié)省了網(wǎng)絡資源。
圖1是現(xiàn)有技術(shù)中XMPP用戶訂閱SIMPLE用戶的信令流程圖2是現(xiàn)有技術(shù)中SIMPLE用戶訂閱XMPP用戶的信令流程圖3是本發(fā)明實施例一的信令流程圖4是本發(fā)明實施例二的信令流程圖5是本發(fā)明實施例三的信令流程圖6是本發(fā)明實施例五的信令流程圖7是本發(fā)明實施例六的裝置結(jié)構(gòu)圖8是本發(fā)明實施例七的裝置結(jié)構(gòu)圖9是本發(fā)明實施例八的裝置結(jié)構(gòu)圖IO是本發(fā)明實施例九的裝置結(jié)構(gòu)圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖及具體實施 例對本發(fā)明作進一步地詳細描述。
實施例 一 ,以XMPP用戶訂閱SIMPLE用戶的呈現(xiàn)信息為例,其中,SIMPLE 用戶在授權(quán)規(guī)則中設置了允許XMPP用戶訂閱其呈現(xiàn)信息。具體流程如圖3所 示
1、 XMPP觀察者(用戶)首次發(fā)送XMPP的訂閱請求到XMPP呈現(xiàn)服務哭.
6口 ,
2、 XMPP呈現(xiàn)服務器根據(jù)被訂閱的呈現(xiàn)者標識將XMPP訂閱請求路由到 互連網(wǎng)關(guān),互連網(wǎng)關(guān)根據(jù)訂閱者標識、被訂閱者標識以及SIMPLE側(cè)訂閱狀態(tài) 判斷SIMPLE側(cè)是否存在相同的訂閱,本實施例中,互連網(wǎng)關(guān)據(jù)此判斷SIMPLE 側(cè)不存在相同的訂閱,相同的訂閱是指訂閱者和被訂閱者都相同;
3、 互連網(wǎng)關(guān)將接收到的XMPP訂閱請求轉(zhuǎn)換成SIMPLE訂閱請求,發(fā)送 給SIMPLE用戶的呈現(xiàn)服務器,記錄SIMPLE側(cè)的訂閱狀態(tài),后續(xù)根據(jù)SIMPLE 側(cè)訂閱狀態(tài)的變遷更新記錄的訂閱狀態(tài)、呈現(xiàn)狀態(tài),SIMPLE側(cè)訂閱會"^舌結(jié)束 時刪除SIMPLE側(cè)訂閱狀態(tài),具體過程與現(xiàn)有技術(shù)一致,在此不再贅述;
4、 SIMPLE用戶的呈現(xiàn)服務器匹配用戶的授權(quán)規(guī)則,匹配結(jié)果為該XMPP 觀察者祐:授4又該訂閱,因此返回訂閱成功響應;
5、 互連網(wǎng)關(guān)接收SIMPLE用戶的呈現(xiàn)服務器返回的訂閱成功響應,也即 SIMPLE側(cè)處于激活態(tài),因此互連網(wǎng)關(guān)將SIMPLE的訂閱成功響應轉(zhuǎn)換成XMPP 側(cè)訂閱成功響應,發(fā)送給XMPP呈現(xiàn)服務器;
6、 XMPP呈現(xiàn)服務器將訂閱成功響應發(fā)送給XMPP觀察者;
7、 在步驟4之后,SIMPLE呈現(xiàn)服務器發(fā)送呈現(xiàn)通知,通知SIMPLE呈現(xiàn) 者(用戶)的呈現(xiàn)狀態(tài),通知被發(fā)送到互連網(wǎng)關(guān);
8、 互連網(wǎng)關(guān)將SIMPLE呈現(xiàn)通知轉(zhuǎn)換成XMPP的呈現(xiàn)通知,發(fā)送給XMPP 呈現(xiàn)服務器;9、 XMPP呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給XMPP觀察者;
10、 互連網(wǎng)關(guān)維持SIMPLE側(cè)的訂閱狀態(tài),互連網(wǎng)關(guān)可以選擇合適的訂閱 有效期,并根據(jù)SIMPLE呈現(xiàn)通知中的有效期實時修改所維持的SIMPLE側(cè)訂 閱有效期,互連網(wǎng)關(guān)在SIMPLE訂閱到期之前,發(fā)送刷新訂閱請求給SIMPLE 呈現(xiàn)服務器;
11 、 SIMPLE呈現(xiàn)服務器返回刷新訂閱成功響應;
12、 SIMPLE呈現(xiàn)服務器發(fā)送呈現(xiàn)通知;
13、 互連網(wǎng)關(guān)轉(zhuǎn)換呈現(xiàn)通知后發(fā)送給XMPP呈現(xiàn)服務器;
14、 XMPP呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給XMPP觀察者;
15、 XMPP用戶下線,拆除與XMPP呈現(xiàn)服務器之間的會話;
16、 互連網(wǎng)關(guān)在SIMPLE訂閱到期之前,再次發(fā)送刷新訂閱請求;
17、 SIMPLE呈現(xiàn)服務器返回刷新訂閱成功響應;
18、 SIMPLE呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知;
19、 互連網(wǎng)關(guān)將呈現(xiàn)通知轉(zhuǎn)換成XMPP呈現(xiàn)通知后發(fā)送給XMPP呈現(xiàn)服務
器;
20、 XMPP呈現(xiàn)服務器判斷XMPP觀察者不在線,因此返回錯誤響應;
21 、互連網(wǎng)關(guān)接收到錯誤響應,向SIMPLE呈現(xiàn)服務器發(fā)送SIMPLE側(cè)去 訂閱請求;
22、 SIMPLE呈現(xiàn)服務器接收去訂閱請求,向互連網(wǎng)關(guān)返回成功響應;
23、 SIMPLE呈現(xiàn)月l務器向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知,互連網(wǎng)關(guān)不再向XMPP 側(cè)發(fā)送該呈現(xiàn)通知;
24、 某段時間后,XMPP用戶再次上線,與XMPP呈現(xiàn)服務器之間建立會
話;
25、 XMPP呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送探針(prob)請求;
26、 互連網(wǎng)關(guān)接收探針請求,根據(jù)訂閱者標識和被訂閱者標識判斷SIMPLE 側(cè)不存在相同的訂閱,因此將該探針請求轉(zhuǎn)換成SIMPLE側(cè)訂閱請求,發(fā)送給
17SIMPLE呈現(xiàn)服務器;
27、 SIMPLE呈現(xiàn)服務器接收訂閱請求,通過4受沖又檢查,向互連網(wǎng)關(guān)返回 成功響應;
28、 SIMPLE呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知;
29、 互連網(wǎng)關(guān)將接收到的呈現(xiàn)通知轉(zhuǎn)換為XMPP呈現(xiàn)通知并發(fā)送給XMPP 呈現(xiàn)服務器;
30、 XMPP呈現(xiàn)服務器將接收到的呈現(xiàn)通知發(fā)送給XMPP觀察者。 可替代的,如果XMPP觀察者下線之后,在步驟21,互連網(wǎng)關(guān)向SIMPLE呈
現(xiàn)服務器發(fā)送去訂閱請求之前,XMPP觀察者再次上線,與XMPP呈現(xiàn)服務器建 立會話,并向互連網(wǎng)關(guān)發(fā)送纟笨針請求,則步驟20以后的具體流程為
31、 XMPP觀察者上線,與XMPP呈現(xiàn)服務器建立會話;
32、 XMPP呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送探針請求;
33 、互連網(wǎng)關(guān)接收〗果針請求,根據(jù)訂閱者標識和^皮訂閱者標識判斷SIMPLE 側(cè)存在相同的訂閱,由于SIMPLE側(cè)的訂閱還處于激活狀態(tài),即存在相同的訂閱, 則互連網(wǎng)關(guān)將記錄的該XMPP側(cè)用戶的呈現(xiàn)信息通過呈現(xiàn)通知發(fā)送給XMPP呈 現(xiàn)服務器
34、 XMPP呈現(xiàn)服務器將接收到的呈現(xiàn)通知發(fā)送給XMPP觀察者。 在本實施例中,由于互連網(wǎng)關(guān)在接收到訂閱請求或者探針請求時,判斷 SIMPLE側(cè)是否存在相同的訂閱,當存在相同訂閱的情況下,直接根據(jù)SIMPLE 側(cè)的訂閱狀態(tài)進行相應的處理,節(jié)省了網(wǎng)絡資源,同時,互連網(wǎng)關(guān)僅在SIMPLE 訂閱會話有效期內(nèi)記錄SIMPLE用戶對XMPP用戶的訂閱情況,而無需持久保 存XMPP側(cè)SIMPLE用戶訂閱XMPP用戶的訂閱狀態(tài),減輕了互連網(wǎng)關(guān)的負荷; 也避免了某些情況下,因互連網(wǎng)關(guān)沒收到XMPP用戶下線的呈現(xiàn)通知,而導致 在該XMPP用戶再次上線,向互連網(wǎng)關(guān)發(fā)送探針請求時,互連網(wǎng)關(guān)向SIMPLE 呈現(xiàn)服務器重發(fā)SIMPLE側(cè)訂閱,造成SIMPLE側(cè)存在多個重復訂閱的情況。 另外,由于SIMPLE側(cè)刷新訂閱之后,經(jīng)由互連網(wǎng)關(guān)向XMPP呈現(xiàn)服務器發(fā)送呈現(xiàn)通知,在XMPP呈現(xiàn)服務器判斷XMPP用戶下線后返回錯誤響應,互連網(wǎng)
關(guān)及時向SIMPLE側(cè)去訂閱,及時釋放網(wǎng)絡資源同時也避免了用戶發(fā)送4叚不在線 呈現(xiàn)狀態(tài)導致互連網(wǎng)關(guān)終止SIMPLE側(cè)訂閱的情況,提高了用戶的體驗。
實施例二 ,仍以XMPP用戶訂閱SIMPLE用戶的呈現(xiàn)信息為例,不過,一 開始,SIMPLE用戶并未在授權(quán)規(guī)則中i殳置允許XMPP用戶訂閱其呈現(xiàn)4言息; 授權(quán)情況在訂閱過程中發(fā)生兩次更新,分別更新為授權(quán)、禁止兩種情況。具體 流程如圖4所示
1、 XMPP觀察者(用戶)發(fā)出XMPP的訂閱請求,請求首先被發(fā)送到XMPP 呈現(xiàn)服務器;
2、 XMPP呈現(xiàn)服務器根據(jù)被訂閱的呈現(xiàn)者標識將XMPP訂閱請求^各由到 互連網(wǎng)關(guān),互連網(wǎng)關(guān)判斷SIMPLE側(cè)是否存在相同的訂閱,本實施例中,互連 網(wǎng)關(guān)據(jù)此判斷SIMPLE側(cè)不存在相同的訂閱;
3、 互連網(wǎng)關(guān)將接收到的XMPP訂閱請求轉(zhuǎn)換成SIMPLE訂閱請求,發(fā)送 給SIMPLE用戶的呈現(xiàn)服務器,記錄SIMPLE側(cè)的訂閱狀態(tài),后續(xù)根據(jù)SIMPLE 側(cè)訂閱狀態(tài)的變遷更新記錄的訂閱狀態(tài)、呈現(xiàn)狀態(tài),SIMPLE側(cè)訂閱會"^舌結(jié)束 時刪除SIMPLE側(cè)訂閱狀態(tài)的記錄,具體過程與現(xiàn)有技術(shù)一致,在此不再贅述;
4、 SIMPLE呈現(xiàn)服務器檢查授權(quán)規(guī)則,發(fā)現(xiàn)SIMPLE呈現(xiàn)者(用戶)并未 對XMPP用戶設置授權(quán)規(guī)則,即,沒有明確授權(quán)XMPP用戶訂閱,也沒有明確 拒絕XMPP用戶拒絕,因此向互連網(wǎng)關(guān)返回訂閱狀態(tài)未決響應;
5、 SIMPLE呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知,通知中表明訂閱狀態(tài)未 決,互連網(wǎng)關(guān)不向XMPP側(cè)發(fā)送響應;
6、 某個時刻,SIMPLE用戶修改了授權(quán)規(guī)則,授權(quán)XMPP用戶訂閱其呈現(xiàn) 4呂息;
7、 SIMPLE呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知,通知中攜帶SIMPLE用 戶呈現(xiàn)信息,同時表明訂閱處于激活狀態(tài);
8、 互連網(wǎng)關(guān)"l妄收呈現(xiàn)通知,發(fā)現(xiàn)呈現(xiàn)狀態(tài)由未決變成激活,因此向XMPP
19側(cè)發(fā)送訂閱成功響應;
9、 XMPP呈現(xiàn)服務器將訂閱成功響應發(fā)送給XMPP觀察者;
10、 步驟8之后,互連網(wǎng)關(guān)將SIMPLE呈現(xiàn)通知轉(zhuǎn)換成XMPP呈現(xiàn)通知發(fā) 送給XMPP呈現(xiàn)服務器;
11 、 XMPP呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給XMPP用戶;
12、 某個時刻,SIMPLE用戶修改授權(quán)規(guī)則,拒絕XMPP用戶訂閱其呈現(xiàn)
息5
13、 SIMPLE呈現(xiàn)服務器根據(jù)新修改的授權(quán)規(guī)則,發(fā)送呈現(xiàn)通知,通知中 表明訂閱狀態(tài)為終止,原因為未授權(quán);
14、 互連網(wǎng)關(guān)接收呈現(xiàn)通知,發(fā)送XMPP側(cè)訂閱終止響應;
15、 XMPP呈現(xiàn)服務器修改用戶聯(lián)系人列表狀態(tài),將訂閱終止響應發(fā)送給 XMPP觀察者。
可替代地,如果步驟2中,如果互連網(wǎng)關(guān)根據(jù)訂閱者標識以及^L訂閱者標 識判斷SIMPLE側(cè)存在相同的訂閱請求,則直接才艮據(jù)SIMPLE側(cè)的訂閱狀態(tài)進 行相應的處理,具體如下
如果SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài),則生成XMPP側(cè)訂閱成功響應發(fā)送 給XMPP呈現(xiàn)服務器;
如果SIMPLE側(cè)訂閱狀態(tài)為未決狀態(tài),則不做進一步處理;
如果SIMPLE側(cè)訂閱狀態(tài)為拒絕狀態(tài),則生成XMPP側(cè)訂閱失敗響應發(fā)送 給XMPP呈現(xiàn)服務器。
可替代地,步驟ll之后,XMPP側(cè)用戶向互連網(wǎng)關(guān)發(fā)起去訂閱請求,則互 連網(wǎng)關(guān)判斷SIMPLE側(cè)存在相同的訂閱,則向SIMPLE側(cè)發(fā)起去訂閱請求,完 成去訂閱。
在本實施例中,由于互連網(wǎng)關(guān)在接收到訂閱請求或者探針請求時,判斷 SIMPLE側(cè)是否存在相同的訂閱,當存在相同訂閱的情況下,直接根據(jù)SIMPLE 側(cè)的訂閱狀態(tài)進4亍相應的處理,節(jié)省了網(wǎng)絡資源。實施例三,以SIMPLE用戶訂閱XMPP用戶的呈現(xiàn)信息為例,其中,SIMPLE 用戶首次訂閱XMPP用戶呈現(xiàn)信息。具體流程如圖5所示
1、 SIMPLE用戶發(fā)送訂閱請求,請求訂閱XMPP用戶的呈現(xiàn)信息,訂閱請 求首先發(fā)送到SIMPLE呈現(xiàn)服務器;
2、 SIMPLE呈現(xiàn)服務器根據(jù)被訂閱的呈現(xiàn)者標識將SIMPLE訂閱i貪求路由 到互連網(wǎng)關(guān);
3、 互連網(wǎng)關(guān)接收到SIMPLE側(cè)訂閱請求,記錄SIMPLE側(cè)的訂閱狀態(tài), 后續(xù)才艮據(jù)SIMPLE側(cè)訂閱狀態(tài)的變遷更新記錄的訂閱狀態(tài)、呈現(xiàn)狀態(tài),SIMPLE 側(cè)訂閱會話結(jié)束時刪除SIMPLE側(cè)訂閱狀態(tài),具體過程與現(xiàn)有技術(shù)一致,在此 不再贅述;
本實施例中,SIMPLE首次訂閱XMPP用戶呈現(xiàn)信息,互連網(wǎng)關(guān)判斷 SIMPLE側(cè)不存在相同的訂閱,因此,互連網(wǎng)關(guān)向XMPP呈現(xiàn)服務器發(fā)送XMPP 側(cè)4笨針請求,其中,相同的訂閱是指訂閱者和被訂閱者都相同;
4、 XMPP呈現(xiàn)服務器收到探針請求,判斷SIMPLE用戶沒有訂閱XMPP 用戶的呈現(xiàn)信息時或XMPP側(cè)用戶未授權(quán)SIMPLE用戶的訂閱時,向互連網(wǎng)關(guān) 返回錯誤響應;
5、 互連網(wǎng)關(guān)接收錯誤響應,呈現(xiàn)服務器判斷該錯誤響應的錯誤原因為 SIMPLE用戶沒有訂閱XMPP用戶的呈現(xiàn)信息,則向SIMPLE呈現(xiàn)服務器返回 訂閱未決響應,并進行步驟6-19;可替代地,如果錯誤原因為未授權(quán),則向 SIMPLE呈現(xiàn)服務器返回訂閱未決響應,并進行步驟6-8;
6、 SIMPLE呈現(xiàn)服務器將訂閱未決響應發(fā)送給SIMPLE觀察者;
7、 步驟5之后,互連網(wǎng)關(guān)向SIMPLE呈現(xiàn)服務器發(fā)送呈現(xiàn)通知,表明訂閱 處于未決狀態(tài);
8、 SIMPLE呈現(xiàn)服務器將該呈現(xiàn)通知發(fā)送給SIMPLE觀察者;
9、 步驟5之后,互連網(wǎng)關(guān)將SIMPLE側(cè)訂閱請求轉(zhuǎn)換成XMPP訂閱請求 發(fā)送給XMPP呈現(xiàn)服務器;10、 XMPP呈現(xiàn)服務器將訂閱請求發(fā)送給XMPP呈現(xiàn)者;
11、 XMPP呈現(xiàn)者決定授權(quán)給SIMPLE用戶訂閱其呈現(xiàn)信息,因此返回訂 閱成功響應;
12、 XMPP呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送訂閱成功響應;
13、 XMPP呈現(xiàn)服務器向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知,包含XMPP用戶呈現(xiàn)信
自-
14、 互連網(wǎng)關(guān)向SIMPLE呈現(xiàn)服務器發(fā)送SIMPLE側(cè)呈現(xiàn)通知,包含XMPP 用戶呈現(xiàn)信息,同時表明SIMPLE側(cè)訂閱處于激活狀態(tài);
15、 SIMPLE呈現(xiàn)服務器將SIMPLE呈現(xiàn)通知發(fā)送給SIMPLE觀察者;
16、 某個時刻,XMPP用戶決定取消給SIMPLE用戶的授權(quán),因此發(fā)送終 止訂閱請求給XMPP呈現(xiàn)服務器;
17、 XMPP呈現(xiàn)服務器發(fā)送終止訂閱請求給互連網(wǎng)關(guān);
18、 互連網(wǎng)關(guān)向SIMPLE呈現(xiàn)服務器發(fā)送SIMPLE呈現(xiàn)通知,表明訂閱終
止;
19、 SIMPLE呈現(xiàn)服務器將SIMPLE呈現(xiàn)通知發(fā)送給SIMPLE觀察者。 可替代地,如果步驟3之后,若互連網(wǎng)關(guān)沒有收到XMPP呈現(xiàn)服務器返回
錯誤響應;且在設定的時間內(nèi),互連網(wǎng)關(guān)也沒有接收到XMPP側(cè)的呈現(xiàn)通知, 向SIMPLE側(cè)發(fā)送訂閱成功響應,并向SIMPLE側(cè)發(fā)送呈現(xiàn)通知,表明XMPP 用戶不在線。
可替代地,如果步驟13之后、該訂閱對話結(jié)束之前,互連網(wǎng)關(guān)接收到 SIMPLE用戶通過SIMPLE呈現(xiàn)服務器發(fā)送的刷新訂閱請求(由于SIMPLE訂 閱只在訂閱會話內(nèi)有效,因此在訂閱會話有效期結(jié)束前需要刷新訂閱),則互連 網(wǎng)關(guān)根據(jù)當前的訂閱狀態(tài)(激活態(tài))向SIMPLE呈現(xiàn)服務器返回XMPP側(cè)訂閱 成功響應,同時將記錄的XMPP用戶呈現(xiàn)信息通過SIMPLE呈現(xiàn)服務器通知發(fā) 送給SIMPLE用戶。
在本實施例中,由于互連網(wǎng)關(guān)在接收到SIMPLE側(cè)訂閱請求時,判斷
22SIMPLE側(cè)是否存在相同的訂閱,當存在相同訂閱的情況下,根據(jù)SIMPLE側(cè)的訂閱狀態(tài)進行相應的處理,節(jié)省了網(wǎng)絡資源;也避免了因SIMPLE側(cè)用戶刷新訂閱請求而導致XMPP用戶頻繁授權(quán),從而維持了 XMPP用戶現(xiàn)有的體驗,同時,互連網(wǎng)關(guān)不需要持久保存SIMPLE用戶對XMPP用戶的訂閱關(guān)系,節(jié)約了呈現(xiàn)服務器存儲空間。
進一步地,本實施例中,XMPP用戶在SIMPLE用戶的訂閱成功后又隱身,XMPP呈現(xiàn)服務器不向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知的情況下,及時向SIMPLE用戶發(fā)送呈現(xiàn)通知,表明呈現(xiàn)者的情況,提高SIMPLE用戶訂閱XMPP用戶的體驗。
實施例四,以SIMPLE用戶訂閱XMPP用戶為例,其中,SIMPLE用戶訂閱XMPP用戶呈現(xiàn)信息時,互連網(wǎng)關(guān)在XMPP側(cè)持久保存SIMPLE用戶對XMPP用戶的訂閱關(guān)系,具體流程如下
1、 SIMPLE用戶發(fā)送訂閱請求,請求訂閱XMPP用戶的呈現(xiàn)信息,訂閱請求首先發(fā)送到SIMPLE呈現(xiàn)服務器;
2、 SIMPLE呈現(xiàn)服務器根據(jù)被訂閱的呈現(xiàn)者標識將SIMPLE訂閱請求路由到互連網(wǎng)關(guān);
3、 互連網(wǎng)關(guān)接收到SIMPLE側(cè)訂閱請求,記錄SIMPLE側(cè)的訂閱狀態(tài),后續(xù)根據(jù)SIMPLE側(cè)訂閱狀態(tài)的變遷更新記錄的訂閱狀態(tài)、呈現(xiàn)狀態(tài),SIMPLE側(cè)訂閱會話結(jié)束時刪除SIMPLE側(cè)訂閱狀態(tài),具體過程與現(xiàn)有技術(shù)一致,在此不再贅述;
互連網(wǎng)關(guān)查找自身保存的XMPP側(cè)同一 SIMPLE用戶對同一 XMPP用戶的訂閱關(guān)系,如果互連網(wǎng)關(guān)沒有保存該訂閱關(guān)系,則將接收到的SIMPLE側(cè)訂閱請求轉(zhuǎn)換成XMPP側(cè)訂閱請求發(fā)送給XMPP側(cè),根據(jù)接收的響應判斷XMPP側(cè)訂閱狀態(tài)并保存,如果互連網(wǎng)關(guān)保存了該訂閱關(guān)系,則根據(jù)所述的訂閱關(guān)系確定XMPP側(cè)的訂閱狀態(tài),且當訂閱狀態(tài)為激活時,發(fā)送探針請求,當訂閱狀態(tài)為未決時,不發(fā)送探針請求;
才艮據(jù)上述方法,獲知的XMPP側(cè)訂閱狀態(tài),如果XMPP側(cè)訂閱狀態(tài)為未決,則向SIMPLE用戶發(fā)送訂閱響應和呈現(xiàn)通知,表明訂閱狀態(tài)為未決;如果訂閱狀態(tài)為激活,則向SIMPLE用戶發(fā)送訂閱成功響應,則設定計時器,在計時器超時前
如果有收到過XMPP呈現(xiàn)通知,則將該XMPP呈現(xiàn)通知轉(zhuǎn)換為SIMPLE呈現(xiàn)通知發(fā)送給SIMPLE用戶,表示XMPP用戶呈現(xiàn)狀態(tài),終止計時器;
如果沒有收到過XMPP呈現(xiàn)通知,向SIMPLE側(cè)發(fā)送呈現(xiàn)通知,表明XMPP用戶不在線。
可替代地,步驟3中,在互連網(wǎng)關(guān)接收到SIMPLE側(cè)訂閱請求之后,查找互連網(wǎng)關(guān)保存的訂閱關(guān)系之前,進一步包括,判斷SIMPLE側(cè)是否存在相同的訂閱,如果存在,根據(jù)SIMPLE側(cè)相同訂閱的訂閱狀態(tài)返回響應,如果不存在,則查找互連網(wǎng)關(guān)保存的訂閱關(guān)系。
本實施例中,在XMPP用戶不在線等原因?qū)е耎MPP呈現(xiàn)服務器不向互連網(wǎng)關(guān)返回鋪-誤響應,也不向互連網(wǎng)關(guān)發(fā)送呈現(xiàn)通知的情況下,及時向SIMPLE用戶發(fā)送呈現(xiàn)通知,表明XMPP側(cè)訂閱狀態(tài)以及呈現(xiàn)者的情況,提高SIMPLE用戶訂閱XMPP用戶的體驗。
實施例五,以SIMPLE用戶訂閱XMPP用戶的呈現(xiàn)信息為例,其中,同一 SIMPLE用戶的兩個終端SIMPLE UE1和SIMPLE UE2訂閱XMPP呈現(xiàn)者呈現(xiàn)信息,具體流程如圖6所示
1、 SIMPLE UE1發(fā)送SIMPLE訂閱請求,請求訂閱XMPP用戶的呈現(xiàn)信息,該SIMPLE訂閱請求首先^皮發(fā)送到SIMPLE呈現(xiàn)"良務器;
2、 SIMPLE呈現(xiàn)服務器根據(jù)被訂閱的呈現(xiàn)者標識將SIMPLE訂閱請求路由到互連網(wǎng)關(guān);
3、 互連網(wǎng)關(guān)接收到SIMPLE側(cè)訂閱請求,互連網(wǎng)關(guān)判斷SIMPLE側(cè)不存在相同的訂閱,因此,互連網(wǎng)關(guān)向XMPP呈現(xiàn)服務器發(fā)送XMPP側(cè)摞:針請求,記錄SIMPLE側(cè)的訂閱狀態(tài),后續(xù)根據(jù)SIMPLE側(cè)訂閱狀態(tài)的變遷更新記錄的訂閱狀態(tài)、呈現(xiàn)狀態(tài),SIMPLE側(cè)訂閱會話結(jié)束時刪除SIMPLE側(cè)訂閱狀態(tài),具體過程與現(xiàn)有技術(shù)一致,在此不再贅述;
4、 XMPP呈現(xiàn)服務器判斷SIMPLE用戶處于XMPP用戶的聯(lián)系人列表中,且處于允許獲取呈現(xiàn)信息狀態(tài),因此向SIMPLE用戶發(fā)送呈現(xiàn)通知,呈現(xiàn)通知被發(fā)送到互連網(wǎng)關(guān);
5、 互連網(wǎng)關(guān)接收到呈現(xiàn)通知,首先返回SIMPLE側(cè)訂閱成功響應;
6、 SIMPLE呈現(xiàn)服務器將SIMPLE訂閱成功響應返回給SIMPLE UE1;
7、 步驟5之后,互連網(wǎng)關(guān)發(fā)送SIMPLE側(cè)呈現(xiàn)通知,包含XMPP用戶呈現(xiàn)信息,表明訂閱處于激活狀態(tài);
8、 SIMPLE呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給SIMPLE UE1;
9、 SIMPLE UE2發(fā)送SIMPLE訂閱請求,請求訂閱XMPP用戶的呈現(xiàn)信自.
10、 SIMPLE呈現(xiàn)服務器將SIMPLE訂閱請求發(fā)送到互連網(wǎng)關(guān);
11 、互連網(wǎng)關(guān)判斷已經(jīng)在SIMPLE側(cè)存在該SIMPLE用戶對同一 XMPP用戶的訂閱,且訂閱處于激活狀態(tài),因此返回SIMPLE側(cè)訂閱成功響應;
12、 SIMPLE呈現(xiàn)服務器將訂閱成功響應發(fā)送給SIMPLE UE2;
13、 步驟11之后,互連網(wǎng)關(guān)將記錄的XMPP用戶呈現(xiàn)狀態(tài)通過呈現(xiàn)通知發(fā)送給SIMPLE呈現(xiàn)服務器;
14、 SIMPLE呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給SIMPLE UE2;
15、 XMPP用戶呈現(xiàn)狀態(tài)發(fā)生變化,XMPP呈現(xiàn)服務器發(fā)送呈現(xiàn)通知;
16、 互連網(wǎng)關(guān)收到XMPP呈現(xiàn)通知,判斷SIMPLE側(cè)有兩個訂閱和XMPP側(cè)呈現(xiàn)通知關(guān)聯(lián),即SIMPLE Ul和SIMPLE U2的訂閱都與XMPP側(cè)的呈現(xiàn)通知相關(guān)聯(lián),因此發(fā)送兩個SIMPLE側(cè)呈現(xiàn)通知,為本步驟的呈現(xiàn)通知和步驟18的呈現(xiàn)通知;
17、 SIMPLE呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給SIMPLE UE1 ,具體地,SIMPLE呈現(xiàn)月良務器可以通過SIMPLE訂閱會話的會話ID尋址到UEl,或者也可以通過其他現(xiàn)有方式尋址到UEl,在此,不再贅述;18、 互連網(wǎng)關(guān)向SIMPLE UE2發(fā)送呈現(xiàn)通知;
19、 SIMPLE呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給SIMPLE UE2;
20、 SIMPLE UE2發(fā)送去訂閱請求,該去訂閱請求中攜帶指示信息表明終止本次訂閱,該去訂閱請求經(jīng)過SIMPLE呈現(xiàn)服務器呈現(xiàn)服務器到達互連網(wǎng)關(guān),互連網(wǎng)關(guān)返回去訂閱成功響應,同時發(fā)送最后一個呈現(xiàn)通知,表明訂閱結(jié)束,SIMPLE UE2完成去訂閱;
21、 XMPP用戶呈現(xiàn)狀態(tài)發(fā)生變化,XMPP呈現(xiàn)服務器發(fā)送呈現(xiàn)通知;
22 、互連網(wǎng)關(guān)收到XMPP呈現(xiàn)通知,判斷SIMPLE側(cè)有 一個訂閱和XMPP側(cè)呈現(xiàn)通知關(guān)聯(lián),因此在SIMPLE側(cè)訂閱會話內(nèi)發(fā)送呈現(xiàn)通知;
23 、 SIMPLE呈現(xiàn)服務器將呈現(xiàn)通知發(fā)送給SIMPLE UE1;
24、 SIMPLE UE1完成去訂閱,具體信令和步駛i 20相同;
25、 XMPP用戶呈現(xiàn)狀態(tài)發(fā)生變化,XMPP呈現(xiàn)服務器發(fā)送呈現(xiàn)通知;
26、 互連網(wǎng)關(guān)收到XMPP呈現(xiàn)通知,判斷SIMPLE側(cè)沒有訂閱和XMPP側(cè)呈現(xiàn)通知關(guān)聯(lián),因此返回錯誤響應,XMPP呈現(xiàn)服務器不再向SIMPLE用戶發(fā)送呈現(xiàn)通知。
可替代地,在步驟20、 24中,SIMPLE去訂閱請求中,該去訂閱請求中攜帶指示信息表明一定時間內(nèi)不再訂閱該用戶信息,該去訂閱請求經(jīng)過SIMPLE呈現(xiàn)服務器到達互連網(wǎng)關(guān),互連網(wǎng)關(guān)將接收到的SIMPLE側(cè)去訂閱請求轉(zhuǎn)換成XMPP側(cè)去訂閱請求發(fā)送給XMPP呈現(xiàn)服務器,完成去訂閱。
在本實施例中,由于互連網(wǎng)關(guān)在接收到訂閱請求或者探針請求時,首先判斷SIMPLE側(cè)是否存在相同的訂閱,當存在相同訂閱的情況下,根據(jù)SIMPLE側(cè)的訂閱狀態(tài)進行相應的處理,節(jié)省了網(wǎng)絡資源,也避免了因SIMPLE側(cè)用戶刷新訂閱請求而導致XMPP用戶頻繁授權(quán),從而維持了 XMPP用戶現(xiàn)有的體驗。
由于,XMPP機制下,除非訂閱者或者被訂閱者取消訂閱,否則,XMPP側(cè)訂閱一直有效,因此,本實施例中,當UE的去訂閱請求表明僅終止本次訂閱的情況下,互連網(wǎng)關(guān)在4妄收到SIMPLE側(cè)去訂閱請求后,并未將該去訂閱:清求發(fā)送給XMPP側(cè),維持了XMPP側(cè)用戶的原有的體驗,避免了因為需要頻繁處理SIMPLE用戶的訂閱請求和去訂閱請求導致XMPP用戶體驗下降。另外,考慮SIMPLE用戶多終端訂閱的情況,在本實施例中,每個終端訂閱成功后,由互連網(wǎng)關(guān)將呈現(xiàn)通知返回給相應的終端,而不會發(fā)送給該SIMPLE用戶下的其^也終端,同理,每個終端去訂閱成功后,也由互連網(wǎng)關(guān)向該終端返回去訂閱成功響應,而不會將該去訂閱成功響應發(fā)送給該SIMPLE用戶下的其他終端;避免了現(xiàn)有技術(shù)中SIMPLE用戶多終端訂閱時, 一個終端的訂閱引起XMPP呈現(xiàn)服務器返回呈現(xiàn)通知,經(jīng)互連網(wǎng)關(guān)發(fā)送給SIMPLE用戶已經(jīng)訂閱的其他終端,此時,XMPP用戶的呈現(xiàn)信息沒有變化,互連網(wǎng)關(guān)沒有必要發(fā)送呈現(xiàn)通知;同時也避免了現(xiàn)有技術(shù)中SIMPLE用戶多終端訂閱時, 一個終端的去訂閱,引起XMPP呈現(xiàn)服務器返回訂閱終止響應,從而影響到該用戶其他終端的訂閱。
實施例六,提供了一種互連網(wǎng)關(guān),以實現(xiàn)XMPP用戶訂閱SIMPLE用戶的呈現(xiàn)信息,如圖7所示,該互連網(wǎng)關(guān)包括請求接收單元、第一判斷單元、第二判斷單元、響應生成單元、第一轉(zhuǎn)換單元、SIMPLE側(cè)響應接收單元、發(fā)送單元,其中,
請求接收單元,用于接收XMPP側(cè)用戶發(fā)送的訂閱SIMPLE側(cè)用戶的訂閱請求消息或揭:針請求消息;
第 一判斷單元,用于根據(jù)所述訂閱請求或探針請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所述SIMPLE側(cè)用戶的訂閱,若已存在,則將所述已存在的訂閱狀態(tài)通知響應單元,若不存在,則將所述的訂閱請求或者#1針請求發(fā)送給轉(zhuǎn)換單元;
第一轉(zhuǎn)換單元,用于將接收到的XMPP訂閱請求或者XMPP側(cè)探針請求轉(zhuǎn)換成SIMPLE訂閱請求發(fā)送給發(fā)送單元;
SIMPLE側(cè)響應接收單元,用于接收SIMPLE側(cè)對所述的SIMPLE訂閱請求消息的響應消息,將該響應消息發(fā)送給第二判斷單元;
第二判斷單元,用于根據(jù)接收到的訂閱響應消息判斷SIMPLE側(cè)的訂閱狀成單元;
響應生成單元,用于根據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的XMPP側(cè)響應消息 發(fā)送給發(fā)送單元;
發(fā)送單元,用于將接收到SIMPLE訂閱請求消息發(fā)送給SIMPLE側(cè),將接收 到的XMPP側(cè)響應消息發(fā)送給XMPP側(cè)。
實施例七,具體地,本發(fā)明又一個實施例的互連網(wǎng)關(guān),以實現(xiàn)XMPP用戶 訂閱SIMPLE用戶的呈現(xiàn)信息,參考圖8,互連網(wǎng)關(guān)的具體處理如下
訂閱請求接收單元,接收XMPP側(cè)的訂閱請求,將該訂閱請求發(fā)送給第一 判斷單元;
探針請求接收單元,接收XMPP側(cè)的探針請求,將該探針請求發(fā)送給第一 判斷單元;
訂閱狀態(tài)處理單元,用于在SIMPLE訂閱會話期間,記錄、更新或刪除 SIMPLE側(cè)訂閱狀態(tài)、呈現(xiàn)信息;
第一判斷單元,若接收到訂閱請求,則根據(jù)訂閱請求中的訂閱者標識被訂 閱者標識以及訂閱狀態(tài)處理單元記錄的SIMPLE側(cè)訂閱狀態(tài)判斷SIMPLE側(cè)是 否存在相同的訂閱,如果存在,則將SIMPLE側(cè)已經(jīng)存在的訂閱狀態(tài)通知響應生 成單元,并通知訂閱狀態(tài)處理單元更新記錄,如果不存在,則將該訂閱請求發(fā) 送給第一轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元記錄訂閱狀態(tài);若接收到纟罙針請 求,則根據(jù)探針請求中的訂閱者標識以及被訂閱者標識判斷SIMPLE側(cè)是否存在 相同的訂閱,如果存在,則將SIMPLE側(cè)已經(jīng)存在的訂閱狀態(tài)通知響應生成單元, 并通知訂閱狀態(tài)處理單元更新記錄,如果不存在,則將該探針請求發(fā)送給第一 轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元記錄訂閱狀態(tài);
第 一轉(zhuǎn)換單元,將接收到的XMPP訂閱請求或者XMPP側(cè)探針請求轉(zhuǎn)換成 SIMPLE訂閱請求,并發(fā)送給發(fā)送單元;
SIMPLE側(cè)響應接收單元,接收SIMPLE側(cè)對所述的SIMPLE訂閱請求的響 應,將該響應消息發(fā)送給第二判斷單元;第二判斷單元,根據(jù)接收到的訂閱響應判斷SIMPLE側(cè)的訂閱狀態(tài),并將訂 閱狀態(tài)通知響應生成單元,通知訂閱狀態(tài)處理單元更新記錄;
響應生成單元,根據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的XMPP側(cè)響應,具體地, 當?shù)?一判斷單元接收的是訂閱請求時
若SIMPLE側(cè)已經(jīng)存在的訂閱狀態(tài)為激活狀態(tài),則生成XMPP側(cè)訂閱成功響 應消息,并將該成功響應消息發(fā)送給發(fā)送單元;
若所述第二判斷單元通知的訂閱狀態(tài)為激活狀態(tài),則生成XMPP側(cè)訂閱成 功響應消息,并將該成功響應消息發(fā)送給發(fā)送單元;
若所述第二判斷單元通知的訂閱狀態(tài)為拒絕狀態(tài),則生成XMPP側(cè)訂閱失 敗響應消息,并將該失敗響應消息發(fā)送給發(fā)送單元;
當?shù)?一判斷單元接收的是4采針請求時
若SIMPLE側(cè)已經(jīng)存在的訂閱狀態(tài)為未決狀態(tài),則生成XMPP側(cè)錯誤響應消 息,并將該錯誤響應消息發(fā)送給發(fā)送單元;
若所述第二判斷單元通知的訂閱狀態(tài)為未決狀態(tài),則生成XMPP側(cè)錯誤響 應消息,并將該錯誤響應消息發(fā)送給發(fā)送單元;
若所述第二判斷單元通知的訂閱狀態(tài)為拒絕狀態(tài),則生成XMPP側(cè)訂閱終 止響應消息,并將該失敗響應消息發(fā)送給發(fā)送單元;
發(fā)送單元,將接收到的消息發(fā)送給XMPP側(cè)。
較佳地,本發(fā)明的一個實施例的互連網(wǎng)關(guān),該互連網(wǎng)關(guān)進一步包括
呈現(xiàn)通知接收單元,接收SIMPLE側(cè)呈現(xiàn)通知,將呈現(xiàn)通知發(fā)送給第三判斷 單元;
第三判斷單元,根據(jù)呈現(xiàn)通知判斷SIMPLE側(cè)訂閱狀態(tài),具體地, 若SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài),則將該SIMPLE側(cè)呈現(xiàn)通知發(fā)送給第二 轉(zhuǎn)換單元;
若SIMPLE側(cè)訂閱狀態(tài)為訂閱終止,且訂閱終止原因為取消授權(quán),則經(jīng)由轉(zhuǎn) 換單元向發(fā)送單元重發(fā)SIMPLE側(cè)訂閱請求,該訂閱請求可以立即發(fā)送,也可以延后再發(fā);
若SIMPLE側(cè)訂閱狀態(tài)為訂閱終止,且訂閱終止原因不是取消授權(quán)、終止之 前的訂閱狀態(tài)為未決,則維持SIMPLE側(cè)訂閱狀態(tài)。
若SIMPLE側(cè)訂閱狀態(tài)為未決,則維持SIMPLE側(cè)訂閱狀態(tài);
若SIMPLE側(cè)訂閱狀態(tài)為乂人未決變成激活,則將SIMPLE側(cè)最新的訂閱狀態(tài) 發(fā)送給響應生成單元,并將該SIMPLE呈現(xiàn)通知發(fā)送給第二轉(zhuǎn)換單元,響應生成 單元才艮據(jù)最新的訂閱狀態(tài),即激活態(tài),生成訂閱成功響應并經(jīng)由發(fā)送單元發(fā)送 給XMPP側(cè),且,所述的第三判斷單元通知訂閱狀態(tài)處理單元更新記錄;
第二轉(zhuǎn)換單元,將SIMPLE側(cè)呈現(xiàn)通知轉(zhuǎn)換成XMPP側(cè)呈現(xiàn)通知并經(jīng)由發(fā)送 單元發(fā)送給XMPP側(cè)。
較佳地,本發(fā)明的一個實施例的互連網(wǎng)關(guān),該互連網(wǎng)關(guān)進一步包括
去訂閱請求接收單元,接收XMPP側(cè)的去訂閱請求,將所述的去訂閱請求 發(fā)送給第四判斷單元;
第四判斷單元,根據(jù)該去訂閱請求中的訂閱者標識、被訂閱者標識及訂閱 狀態(tài)處理單元記錄的SIMPLE側(cè)訂閱狀態(tài)判斷SIMPLE側(cè)是否存在相同的訂閱, 如果存在,則將該去訂閱請求發(fā)送給第三轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元 更新記錄;
第三轉(zhuǎn)換單元,將接收到的XMPP側(cè)去訂閱請求轉(zhuǎn)換成SIMPLE側(cè)去訂閱請 求,并發(fā)送給發(fā)送單元。
較佳地,本發(fā)明的一個實施例的互連網(wǎng)關(guān),該互連網(wǎng)關(guān)進一步包括
XMPP側(cè)響應接收單元,接收XMPP側(cè)返回的錯誤響應,通知去訂閱請求生 成單元,生成SIMPLE去訂閱請求,并通知訂閱狀態(tài)處理單元更新記錄;
去訂閱請求生成單元,接收XMPP側(cè)響應接收單元的通知,生成SIMPLE去 訂閱請求發(fā)送給發(fā)送單元。
實施例八,提供了 一種互連網(wǎng)關(guān),以實現(xiàn)SIMPLE用戶訂閱XMPP用戶的 呈現(xiàn)信息,如圖9所示,該互連網(wǎng)關(guān)包括訂閱請求接收單元,用于接收SIMPLE用戶發(fā)送的訂閱XMPP用戶的訂閱 請求,并發(fā)送給第一判斷單元;
第一判斷單元,用于根據(jù)所述訂閱請求判斷SIMPLE側(cè)是否已存在所述 SIMPLE側(cè)用戶對所述XMPP側(cè)用戶的訂閱,若已存在,則將所述已存在的訂 閱狀態(tài)通知響應單元,若不存在,則將所述的訂閱請求發(fā)送給轉(zhuǎn)換單元;
第一轉(zhuǎn)換單元,用于將接收到的SIMPLE訂閱請求轉(zhuǎn)換成探針請求發(fā)送給 發(fā)送單元;
響應生成單元,用于才艮據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的SIMPLE側(cè)響應消 息發(fā)送給發(fā)送單元;
發(fā)送單元,用于將接收到的SIMPLE側(cè)響應消息發(fā)送給SIMPLE側(cè),將接收 到探針請求發(fā)送給XMPP側(cè)。
實施例九,具體地,本發(fā)明又一個實施例的互連網(wǎng)關(guān),以實現(xiàn)SIMPLE用戶 訂閱XMPP用戶的呈現(xiàn)信息,參考圖IO,互連網(wǎng)關(guān)的具體處理如下
訂閱請求接收單元,接收SIMPLE用戶發(fā)送的訂閱XMPP用戶的訂閱請求, 并發(fā)送給第一判斷單元;
訂閱狀態(tài)處理單元,用于在SIMPLE訂閱會話有效期內(nèi),記錄、更新或刪 除SIMPLE側(cè)訂閱狀態(tài)、呈現(xiàn)信息;
第一判斷單元,根據(jù)所述訂閱請求中訂閱者標識、被訂閱者標識及訂閱狀
戶的訂閱,若已存在,則將所述已存在的訂閱狀態(tài)通知響應單元,通知訂閱狀 態(tài)處理單元更新訂閱狀態(tài)的記錄,若不存在,則將所述的訂閱請求發(fā)送給轉(zhuǎn)換 單元,通知訂閱狀態(tài)處理單元記錄訂閱狀態(tài);
第 一轉(zhuǎn)換單元,將接收到的SIMPLE訂閱請求轉(zhuǎn)換成探針請求發(fā)送給發(fā)送 單元;
響應生成單元,根據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的SIMPLE側(cè)響應消息發(fā) 送給發(fā)送單元;具體地,如果SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài),則生成SIMPLE訂閱成功響應發(fā)送給 發(fā)送單元,并向發(fā)送單元發(fā)送XMPP用戶的呈現(xiàn)信息;
如果SIMPLE側(cè)訂閱狀態(tài)為未決狀態(tài),則生成SIMPLE訂閱未決響應發(fā)送給 發(fā)送單元,并向發(fā)送單元發(fā)送呈現(xiàn)通知,表明XMPP用戶不在線;
發(fā)送單元,將接收到的SIMPLE側(cè)響應消息發(fā)送給SIMPLE側(cè),將接收到探 針請求發(fā)送給XMPP側(cè)。
較佳地,本發(fā)明的一個實施例,該互連網(wǎng)關(guān)進一步還包括
呈現(xiàn)通知接收單元,接收XMPP側(cè)發(fā)送的XMPP側(cè)用戶的呈現(xiàn)通知,將所述 的呈現(xiàn)通知發(fā)送給第二判斷單元;
第二判斷單元,當所述呈現(xiàn)通知為XMPP側(cè)針對所述探針請求返回的呈現(xiàn) 通知,向發(fā)送單元發(fā)送訂閱成功響應,并將接收到XMPP呈現(xiàn)通知發(fā)送給第二 轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元才艮據(jù)SIMPLE側(cè)的訂閱狀態(tài)更新記錄;否則, 進一步根據(jù)所述呈現(xiàn)通知判斷SIMPLE側(cè)是否已經(jīng)存在所述XMPP側(cè)用戶對所 述SIMPLE側(cè)用戶的訂閱,如果存在,則將所述XMPP側(cè)呈現(xiàn)通知發(fā)送給第二轉(zhuǎn) 換單元,且通知訂閱狀態(tài)處理單元更新記錄;如果不存在,則通知響應單元生 成確晉i吳響應;
第二轉(zhuǎn)換單元,將接收到的XMPP呈現(xiàn)通知轉(zhuǎn)換成為SIMPLE呈現(xiàn)通知發(fā)送 給發(fā)送單元;相應地,
所述的響應生成單元,進一步用于生成錯誤響應發(fā)送給發(fā)送單元; 所述的發(fā)送單元,進一步將接收到的SIMPLE呈現(xiàn)通知發(fā)送給SIMPLE側(cè), 將接收到的該錯誤響應發(fā)送給XMPP側(cè)。
較佳地,本發(fā)明的一個實施例,該互連網(wǎng)關(guān)進一步還包括 XMPP響應接收單元,接收XMPP側(cè)針對所述探針請求返回的錯誤響應,若 錯誤響應表明XMPP側(cè)不存在相應的訂閱,則將請求接收單元接收的SIMPLE訂 閱請求發(fā)送給第三轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元更新記錄;否則,通知 響應單元生成未決響應,并通知訂閱狀態(tài)處理單元更新記錄;第三轉(zhuǎn)換單元,將接收到的SIMPLE訂閱請求轉(zhuǎn)換成XMPP訂閱請求,并發(fā) 送給發(fā)送單元;相應地, ,
所述響應生成單元,進一步用于生成未決響應并發(fā)送給發(fā)送單元;
所述發(fā)送單元,進一步用于將接收到XMPP訂閱請求發(fā)送給XMPP側(cè),將接 收到的未決響應發(fā)送給SIMPLE側(cè)。
綜上,采用本發(fā)明的實施例,可以節(jié)約網(wǎng)絡資源,進一步克服了現(xiàn)有技術(shù)
用戶現(xiàn)有的體驗。
總之,以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保 護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等, 均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種XMPP用戶訂閱SIMPLE用戶呈現(xiàn)信息的方法,其特征在于,所述的方法包括接收XMPP側(cè)用戶發(fā)送的訂閱SIMPLE用戶的訂閱請求或者探針請求;根據(jù)所述的訂閱請求或探針請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所述SIMPLE用戶的訂閱;如果存在,則根據(jù)所述已存在的SIMPLE側(cè)訂閱的訂閱狀態(tài)向XMPP側(cè)發(fā)送相應的響應消息。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,如果所述SIMPLE側(cè)不存在 所述XMPP側(cè)用戶對所述SIMPLE用戶的訂閱,則所述方法進一步包括將所述的XMPP側(cè)訂閱請求或者探針請求轉(zhuǎn)換成SIMPLE側(cè)訂閱請求發(fā)送 給SIMPLE側(cè),接收SIMPLE側(cè)返回的所述SIMPLE訂閱請求的響應,根據(jù)所 述響應向XMPP側(cè)發(fā)送相應的響應消息。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的方法中,當接收XMPP 側(cè)用戶發(fā)送的訂閱SIMPLE用戶的訂閱請求時,才艮據(jù)所述已存在的SIMPLE側(cè) 訂閱的訂閱狀態(tài)向XMPP側(cè)發(fā)送相應的響應消息包括如果所述SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài),則向XMPP側(cè)發(fā)送XMPP訂閱 成功響應。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的方法中,當接收XMPP 側(cè)用戶發(fā)送的訂閱SIMPLE用戶的訂閱請求時,接收SIMPLE側(cè)返回的所述 SIMPLE訂閱請求的響應,根據(jù)所述響應向XMPP側(cè)發(fā)送相應的響應消息包括才艮據(jù)所述SIMPLE側(cè)返回的響應判斷SIMPLE側(cè)訂閱狀態(tài); 如果所述SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài),則向XMPP側(cè)發(fā)送XMPP訂閱 成功響應;如果SIMPLE側(cè)訂閱狀態(tài)為拒絕狀態(tài),則向XMPP側(cè)發(fā)送XMPP訂閱失敗 響應。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的方法中,當接收XMPP 側(cè)用戶發(fā)送的訂閱SIMPLE用戶的揮:針請求時,才艮據(jù)所述已存在的SIMPLE側(cè) 訂閱的訂閱狀態(tài)向XMPP側(cè)發(fā)送相應的響應消息包括如果所述SIMPLE側(cè)的訂閱狀態(tài)為未決狀態(tài),則向XMPP側(cè)發(fā)送錯誤響應。
6、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的方法中,當接收XMPP 側(cè)用戶發(fā)送的訂閱SIMPLE用戶的探針請求時,接收SIMPLE側(cè)返回的所述 SIMPLE訂閱請求的響應,根據(jù)所述響應向XMPP側(cè)發(fā)送相應的響應消息包括根據(jù)所述SIMPLE側(cè)返回的響應判斷SIMPLE側(cè)訂閱狀態(tài); 如果所述SIMPLE側(cè)訂閱狀態(tài)為未決狀態(tài),則向XMPP側(cè)發(fā)送XMPP錯誤 響應;如果SIMPLE側(cè)訂閱狀態(tài)為拒絕狀態(tài),則向XMPP側(cè)發(fā)送XMPP訂閱終止 響應。
7、 根據(jù)權(quán)利要求1至6任意一項所述的方法,其特征在于,所述的方法中, 向XMPP側(cè)發(fā)送相應的響應之后,進一步包括接收SIMPLE側(cè)的呈現(xiàn)通知,根據(jù)所述的呈現(xiàn)通知判斷SIMPLE側(cè)的訂閱 狀態(tài);如果所述的訂閱狀態(tài)為激活狀態(tài),則將所述的SIMPLE呈現(xiàn)通知轉(zhuǎn)換為 XMPP側(cè)呈J見通知發(fā)送給XMPP側(cè);如果所述的訂閱狀態(tài)由未決狀態(tài)轉(zhuǎn)為激活狀態(tài),則將所述的SIMPLE呈現(xiàn) 通知轉(zhuǎn)換為XMPP側(cè)通知發(fā)送給XMPP側(cè),并向XMPP側(cè)發(fā)送訂閱成功響應;如果所述的訂閱狀態(tài)為因未授權(quán)而終止,則向XMPP側(cè)發(fā)送訂閱終止響應;如果所述的訂閱狀態(tài)為因未授權(quán)之外的原因而終止,則將所述的SIMPLE 呈現(xiàn)通知轉(zhuǎn)換為XMPP側(cè)通知發(fā)送給XMPP側(cè)。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述的方法中,將所述的 SIMPLE呈現(xiàn)通知轉(zhuǎn)換為XMPP側(cè)呈現(xiàn)通知發(fā)送給XMPP側(cè)之后,進一步包括接收到XMPP側(cè)返回的錯誤響應,向SIMPLE側(cè)發(fā)送去訂閱請求,請求終止SIMPLE側(cè)相應的訂閱。
9、 根據(jù)權(quán)利要求1至6任意一項所述的方法,其特征在于,所述的方法進 一步包括4妄收所述XMPP側(cè)用戶發(fā)送的終止訂閱所述SIMPLE側(cè)用戶的去訂閱請求;根據(jù)所述的去訂閱請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所 述SIMPLE用戶的訂閱;如果存在,則向SIMPLE側(cè)發(fā)送去訂閱請求,請求終止SIMPLE側(cè)相應的 訂閱。
10、 根據(jù)權(quán)利要求1至6任意一項所述的方法,其特征在于,所述根據(jù)所 述的訂閱請求或探針請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所述 SIMPLE用戶的訂閱,具體包括根據(jù)所述的訂閱請求或探針請求中訂閱者標識、被訂閱者標識以及SIMPLE用戶的訂閱。
11 、 一種SIMPLE用戶訂閱XMPP用戶呈現(xiàn)信息的方法,其特征在于,所 述的方法包括接收SIMPLE側(cè)用戶發(fā)送的訂閱XMPP側(cè)用戶的訂閱請求; 根據(jù)所述的訂閱請求判斷SIMPLE側(cè)是否已存在所述SIMPLE用戶對所述XMPP用戶的訂閱;如果存在,則根據(jù)所述已存在的SIMPLE側(cè)訂閱狀態(tài)向SIMPLE側(cè)發(fā)送相應的響應消息。
12、 根據(jù)權(quán)利要求11所述的方法,其特征在于,如果所述SIMPLE側(cè)不存 在所述SIMPLE用戶對所述XMPP用戶的訂閱,則所述的方法進一步包括向XMPP側(cè)發(fā)送4笨4"H青求。
13、 根據(jù)權(quán)利要求11所述的方法,其特征在于,所述根據(jù)SIMPLE側(cè)訂閱狀態(tài)向SIMPLE側(cè)發(fā)送相應的響應消息包括如果所述SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài),則向SIMPLE側(cè)發(fā)送訂閱成功 響應消息,并向SIMPLE側(cè)發(fā)送呈現(xiàn)通知,所述呈現(xiàn)通知包含所述XMPP側(cè)用 戶的呈現(xiàn)信息;如果所述SIMPLE側(cè)訂閱狀態(tài)為未決狀態(tài),則向SIMPLE側(cè)發(fā)送訂閱未決 響應,并向SIMPLE側(cè)發(fā)送呈現(xiàn)通知,表明XMPP用戶未在線。
14、 根據(jù)權(quán)利要求12所述的方法,其特征在于,在向XMPP側(cè)發(fā)送探針 請求之后,進一步包括接收XMPP側(cè)發(fā)送的呈現(xiàn)通知,向SIMPLE側(cè)發(fā)送訂閱成功響應,并將所 述的XMPP側(cè)呈現(xiàn)通知轉(zhuǎn)換成SIMPLE側(cè)呈現(xiàn)通知發(fā)送給SIMPLE側(cè)。
15、 根據(jù)權(quán)利要求12所述的方法,其特征在于,在向XMPP側(cè)發(fā)送探針 請求之后,進一步包括接收XMPP側(cè)發(fā)送的錯誤響應,則向SIMPLE側(cè)發(fā)送訂閱未決響應,并向 SIMPLE側(cè)發(fā)送SIMPLE側(cè)未決狀態(tài)呈現(xiàn)通知;若錯誤響應表明沒有XMPP側(cè) 訂閱,則進一 步向XMPP側(cè)發(fā)送訂閱請求。
16、 根據(jù)權(quán)利要求12所述的方法,其特征在于,在向XMPP側(cè)發(fā)送探針 請求之后,進一步包括在設定的時間內(nèi)未收到XMPP側(cè)針對所述探針請求返回的呈現(xiàn)通知或錯誤 響應,向SIMPLE側(cè)發(fā)送訂閱成功響應,并向SIMPLE側(cè)發(fā)送呈現(xiàn)通知,表明 XMPP用戶不在線。
17、 根據(jù)權(quán)利要求11至16任意一項所述的方法,其特征在于,所述的方 法進一步包括接收XMPP側(cè)發(fā)送的所述XMPP側(cè)用戶的呈現(xiàn)通知,根據(jù)所述的呈現(xiàn)通知如果存在,則將所述XMPP側(cè)呈現(xiàn)通知轉(zhuǎn)換為SIMPLE側(cè)轉(zhuǎn)換通知并發(fā)送 給所述SIMPLE側(cè)用戶;如果不存在,則向所述SIMEPLE側(cè)發(fā)送錯誤響應。
18、 根據(jù)權(quán)利要求13至16任意一項所述的方法,其特征在于,所述向 SIMPLE側(cè)發(fā)送響應以及呈現(xiàn)通知具體包括向SIMPLE側(cè)同 一用戶下訂閱同一 XMPP用戶的至少一個SIMPLE終端發(fā)送。
19、 根據(jù)權(quán)利要求11至16任意一項所述的方法,其特征在于,所述根據(jù) 所述的訂閱請求或探針請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所 述SIMPLE用戶的訂閱,具體包括根據(jù)所述的訂閱請求或探針請求中訂閱者標識、被訂閱者標識以及 SIMPLE側(cè)訂閱會話狀態(tài)判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所述 SIMPLE用戶的訂閱。
20、 一種SIMPLE用戶訂閱XMPP用戶呈現(xiàn)信息的方法,其特征在于,所 述的方法包括接收SIMPLE用戶發(fā)送的訂閱XMPP用戶的訂閱請求;根據(jù)所述的訂閱關(guān)系確定XMPP側(cè)訂閱狀態(tài)為激活態(tài),或當互連網(wǎng)關(guān)未保存所 述SIMPLE用戶訂閱所述XMPP用戶的訂閱關(guān)系時,將所述訂閱請求發(fā)送給 XMPP側(cè),并才艮據(jù)收到的XMPP側(cè)訂閱響應判斷XMPP側(cè)的訂閱狀態(tài)為激活態(tài) 時,則向SIMPLE側(cè)發(fā)送訂閱成功響應;在i殳定的時間內(nèi)未收到XMPP側(cè)呈現(xiàn)通知,則向SIMPLE側(cè)發(fā)送呈現(xiàn)通知, 表明XMPP用戶不在線。
21、 一種互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)包括 請求接收單元,用于接收XMPP側(cè)用戶發(fā)送訂閱SIMPLE側(cè)用戶的訂閱請求消息或探針請求;第一判斷單元,用于根據(jù)所述XMPP訂閱請求或XMPP探針請求判斷存在,則將所述已存在的訂閱狀態(tài)通知響應單元;響應生成單元,用于根據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的XMPP側(cè)響應消白 發(fā)送單元,用于將將所述XMPP側(cè)響應消息發(fā)送給XMPP側(cè)。
22、 根據(jù)權(quán)利要求21所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括第一轉(zhuǎn)換單元、SIMPLE側(cè)響應接收單元、第二判斷單元,具體地,用戶的訂閱時,所述第一轉(zhuǎn)換單元,用于將所述第一判斷單元轉(zhuǎn)發(fā)的XMPP訂閱請求或 XMPP探針請求轉(zhuǎn)換成SIMPLE訂閱請求;所述SIMPLE側(cè)響應接收單元,用于接收SIMPLE側(cè)對所述的SIMPLE訂閱 請求的響應消息;所述第二判斷單元,用于根據(jù)所述響應消息判斷SIMPLE側(cè)的訂閱狀態(tài),并 將訂閱狀態(tài)通知響應生成單元;相應地,所述發(fā)送單元,進一步用于將所述SIMPLE訂閱請求發(fā)送給 SIMPLE側(cè)。
23、 根據(jù)權(quán)利要求22所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括訂閱狀態(tài)處理單元,用于在SIMPLE訂閱會"i舌期間,記錄、更新、刪除 SIMPLE側(cè)訂閱狀態(tài)、呈現(xiàn)信息;相應地,所述第 一判斷單元,則根據(jù)訂閱請求中的訂閱者標識被訂閱者標識以及訂 閱狀態(tài)處理單元記錄的SIMPLE側(cè)訂閱狀態(tài)判斷SIMPLE側(cè)是否存在相同的訂 閱,并通知訂閱狀態(tài)處理單元記錄SIMPLE側(cè)訂閱狀態(tài)或者更新SIMPLE側(cè)訂閱 狀態(tài);所述第二判斷單元,進一步用于通知訂閱狀態(tài)處理單元根據(jù)SIMPLE側(cè)的訂 閱狀態(tài)更新記錄。
24、 根據(jù)權(quán)利要求23所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括呈現(xiàn)通知接收單元,用于接收SIMPLE側(cè)呈現(xiàn)通知;第三判斷單元,用于根據(jù)所述的呈現(xiàn)通知判斷SIMPLE側(cè)訂閱狀態(tài),并通知 訂閱狀態(tài)處理單元根據(jù)SIMPLE側(cè)的訂閱狀態(tài)更新記錄;且,當SIMPLE側(cè)訂閱狀態(tài)為激活狀態(tài)時,將該SIMPLE側(cè)呈現(xiàn)通知發(fā)送給第二 轉(zhuǎn)換單元;當SIMPLE側(cè)訂閱狀態(tài)為從未決狀態(tài)變成激活狀態(tài)時,將SIMPLE側(cè)最新的 訂閱狀態(tài)發(fā)送給響應生成單元,并將該SIMPLE呈現(xiàn)通知發(fā)送給第二轉(zhuǎn)換單元;第二轉(zhuǎn)換單元,用于將SIMPLE側(cè)呈現(xiàn)通知轉(zhuǎn)換成XMPP側(cè)呈現(xiàn)通知發(fā)送給 發(fā)送單元;相應地,所述響應生成單元,用于才艮據(jù)SIMPLE側(cè)的訂閱狀態(tài),生成訂閱成功響應;所述的發(fā)送單元,進一步用于將所述XMPP側(cè)呈現(xiàn)通知發(fā)送給XMPP側(cè),將 所述訂閱成功響應發(fā)送給SIMPLE側(cè)。
25、 根據(jù)權(quán)利要求23所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括去訂閱請求接收單元,用于接收XMPP側(cè)用戶發(fā)送的終止訂閱所述SIMPLE 側(cè)用戶的去訂閱請求;第四判斷單元,用于根據(jù)所述的去訂閱請求中的訂閱者標識、,皮訂閱者標識及訂閱狀態(tài)處理單元記錄的SIMPLE側(cè)訂閱狀態(tài)判斷SIMPLE側(cè)是否存在所 述XMPP側(cè)用戶對SIMPLE側(cè)用戶的訂閱,如果存在,則將該去訂閱請求發(fā)送給 第三轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元更新記錄;第三轉(zhuǎn)換單元,將接收到的XMPP側(cè)去訂閱請求轉(zhuǎn)換成SIMPLE側(cè)去訂閱請 求;相應地,所述發(fā)送單元,進一步用于將所述SIMPLE側(cè)去訂閱請求消息發(fā)送給 SIMPLE側(cè)。
26、 根據(jù)權(quán)利要求23所述的互連網(wǎng)關(guān),其特4i在于,所述的互連網(wǎng)關(guān)進一 步包括XMPP側(cè)響應接收單元,用戶接收XMPP側(cè)返回的錯誤響應,通知去訂閱請 求生成單元,生成SIMPLE去訂閱請求,并通知訂閱狀態(tài)處理單元刪除記錄;去訂閱請求生成單元,接收XMPP側(cè)響應接收單元的通知,生成SIMPLE去 訂閱請求發(fā)送給發(fā)送單元。
27、 一種互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)包括 訂閱請求接收單元,用于接收SIMPLE用戶發(fā)送的訂閱XMPP用戶的訂閱請求;第 一判斷單元,用于根據(jù)所述SIMPLE側(cè)訂閱請求判斷SIMPLE側(cè)是否已 存在所述SIMPLE側(cè)用戶對所述XMPP側(cè)用戶的訂閱,若存在,則將所述已存 在的訂閱狀態(tài)通知響應生成單元響應生成單元,用于根據(jù)SIMPLE側(cè)訂閱狀態(tài)生成相應的SIMPLE側(cè)響應消自 發(fā)送單元,用于將所述SIMPLE側(cè)響應消息發(fā)送給SIMPLE側(cè)。
28、 根據(jù)權(quán)利要求27所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括第一轉(zhuǎn)換單元,具體地,XMPP側(cè)用戶的訂閱時,所述第一轉(zhuǎn)換單元,用于將所述第一判斷單元轉(zhuǎn)發(fā)的SIMPLE側(cè)訂閱請求轉(zhuǎn) 換成探針請求;相應地,所述發(fā)送單元,進一步用戶將所述〗冢針請求發(fā)送給XMPP側(cè)。
29、 根據(jù)權(quán)利要求27或28所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng) 關(guān)進一步包括訂閱狀態(tài)處理單元,用于在SIMPLE訂閱會話期間,記錄、更新、刪除 SIMPLE側(cè)訂閱狀態(tài)、呈現(xiàn)信息;相應地,所述第一判斷單元,則根據(jù)訂閱請求中的訂閱者標識被訂閱者標識以及訂閱狀態(tài)處理單元記錄的SIMPLE側(cè)訂閱狀態(tài)判斷SIMPLE側(cè)是否存在相同的訂 閱,并通知訂閱狀態(tài)處理單元記錄訂閱狀態(tài)或者更新訂閱狀態(tài)。
30、 根據(jù)權(quán)利要求29所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括呈現(xiàn)通知接收單元,用于接收XMPP側(cè)發(fā)送的XMPP側(cè)用戶的呈現(xiàn)通知; 第二判斷單元,當所述呈現(xiàn)通知為XMPP側(cè)針對所述探針請求返回的呈現(xiàn) 通知時,向發(fā)送單元發(fā)送訂閱成功響應,將接收到XMPP呈現(xiàn)通知發(fā)送給第二 轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元更新記錄;否則,進一步才艮據(jù)所述呈現(xiàn)通閱,如果存在,則將所述XMPP側(cè)呈現(xiàn)通知發(fā)送給第二轉(zhuǎn)換單元,如果不存在, 則通知響應單元生成錯誤響應;第二轉(zhuǎn)換單元,用于將接收到的XMPP呈現(xiàn)通知轉(zhuǎn)換成為SIMPLE呈現(xiàn)通 知;相應地,所述的響應單元,進一步用于生成錯誤響應;所述的發(fā)送單元,用于將所述SIMPLE呈現(xiàn)通知發(fā)送給SIMPLE側(cè),將所述 錯誤響應發(fā)送給XMPP側(cè)。
31、 根據(jù)權(quán)利要求29所述的互連網(wǎng)關(guān),其特征在于,所述的互連網(wǎng)關(guān)進一 步包括XMPP響應接收單元,用于接收XMPP側(cè)針對所述探針請求返回的錯誤響 應,若錯誤響應表明XMPP側(cè)不存在相應的訂閱,則將請求接收單元接收的 SIMPLE訂閱請求發(fā)送給第三轉(zhuǎn)換單元,并通知訂閱狀態(tài)處理單元更新記錄;否 則,通知響應單元生成未決響應,并通知訂閱狀態(tài)處理單元更新記錄;第三轉(zhuǎn)換單元,用于將接收到的SIMPLE訂閱請求轉(zhuǎn)換成XMPP訂閱請求; 相應地,所述響應生成單元,進一步用于生成未決響應;所述發(fā)送單元,進一步用于將所述XMPP訂閱請求發(fā)送給XMPP側(cè),將所述未決響應發(fā)送給SIMPLE側(cè)。
全文摘要
本發(fā)明實施例公開了一種XMPP用戶訂閱SIMPLE用戶呈現(xiàn)信息的方法,包括接收XMPP側(cè)用戶發(fā)送的訂閱SIMPLE用戶的訂閱請求或者探針請求;根據(jù)所述的訂閱請求或探針請求判斷SIMPLE側(cè)是否已存在所述XMPP側(cè)用戶對所述SIMPLE用戶的訂閱;如果存在,則根據(jù)所述已存在的SIMPLE側(cè)訂閱的訂閱狀態(tài)向XMPP側(cè)發(fā)送相應的響應消息。本發(fā)明實施例還公開SIMPLE用戶訂閱XMPP用戶呈現(xiàn)信息的方法和互連網(wǎng)關(guān),減少對網(wǎng)絡資源的浪費。
文檔編號H04L29/06GK101547213SQ20081006622
公開日2009年9月30日 申請日期2008年3月29日 優(yōu)先權(quán)日2008年3月29日
發(fā)明者卞永剛, 謙 孫, 張永靖, 剛 梁, 牟倫建, 玨 王, 許國軍, 成 黃 申請人:華為技術(shù)有限公司