CN101547213B - 一种实现呈现业务的方法和互连网关 - Google Patents
一种实现呈现业务的方法和互连网关 Download PDFInfo
- Publication number
- CN101547213B CN101547213B CN2008100662251A CN200810066225A CN101547213B CN 101547213 B CN101547213 B CN 101547213B CN 2008100662251 A CN2008100662251 A CN 2008100662251A CN 200810066225 A CN200810066225 A CN 200810066225A CN 101547213 B CN101547213 B CN 101547213B
- Authority
- CN
- China
- Prior art keywords
- xmpp
- user
- subscription
- notice
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种XMPP用户订阅SIMPLE用户呈现信息的方法,包括:接收XMPP侧用户发送的订阅SIMPLE用户的订阅请求或者探针请求;根据所述的订阅请求或探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅;如果存在,则根据所述已存在的SIMPLE侧订阅的订阅状态向XMPP侧发送相应的响应消息。本发明实施例还公开SIMPLE用户订阅XMPP用户呈现信息的方法和互连网关,减少对网络资源的浪费。
Description
技术领域
本发明涉及通信领域,特别是涉及一种实现呈现业务的方法和互连网关。
背景技术
呈现业务是一种通讯业务,用户可以通过订阅其他用户的呈现信息,来了解被订阅用户的状态,例如是否在线,在做什么等等,从而为用户是否发起与该被订阅用户的通话或其他交流方式提供有效信息。
目前,有两种现有技术方案可以实现基于XMPP(Extensible Messaging andPresence Protocol,可扩展消息和呈现协议)协议的呈现业务和基于SIMPLE(SIPInstant Message and Presence Leveraging Extensions,SIP即时消息和呈现支持扩展)协议的呈现业务互连。
现有技术中,当XMPP用户订阅SIMPLE用户的呈现信息时的流程如图1所示。互连网关将XMPP用户的订阅请求转换成SIMPLE订阅请求,将SIMPLE成功订阅响应转换成XMPP订阅成功响应,将SIMPLE呈现通知转换成XMPP呈现通知,在SIMPLE订阅到期之前,刷新SIMPLE侧订阅,如果收到XMPP侧发送的XMPP用户不在线的呈现通知,则发送SIMPLE侧去订阅请求,等待XMPP呈现服务器发送探针请求时,重新发送SIMPLE订阅请求;可选的,为了防止不信任呈现服务器的放大攻击,互连网关刷新订阅之前需要发送探针请求,获取XMPP呈现服务器应答。
而当SIMPLE用户订阅XMPP用户的呈现信息时的流程如图2所示。SIMPLE观察者发送订阅请求,请求订阅XMPP呈现者的呈现信息,订阅请求经过SIMPLE观察者的归属SIMPLE呈现服务器,到达互连网关,互连网关将SIMPLE订阅请求转换成XMPP订阅请求,发送给XMPP呈现者归属呈现服务器,XMPP呈现者归属呈现服务器将XMPP订阅请求发送给XMPP呈现者客户端,XMPP呈现者授权该订阅,返回允许订阅响应,XMPP呈现服务器返回订阅成功响应,互连网关将XMPP订阅成功响应转换成SIMPLE订阅成功响应,通过SIMPLE呈现呈现服务器发送给SIMPLE观察者;互连网关接收XMPP呈现服务器发送的XMPP用户的呈现信息,转换成SIMPLE呈现通知发送给SIMPLE观察者;SIMPLE观察者决定终止订阅,发送去订阅请求,互连网关将去订阅请求转换成XMPP取消订阅请求,返回成功响应。
发明人在发明创造的过程中发现,由于XMPP协议和SIMPLE协议的订阅呈现业务的机制有所不同,现有技术实现基于XMPP协议的呈现业务和基于SIMPLE协议的呈现业务互连时,导致网络资源存在浪费的问题,某些情况下也改变了XMPP用户和SIMPLE用户的原有体验,使得用户明显觉察到订阅不同域用户带来的差异性。
发明内容
有鉴于此,本发明实施例提供了一种订阅用户呈现信息的方法、互连网关,减少对网络资源的浪费。
本发明实施例是通过以下技术方案实现的:
本发明实施例提供一种XMPP用户订阅SIMPLE用户呈现信息的方法,包括:
接收XMPP侧用户发送的订阅SIMPLE用户的订阅请求或者探针请求;
根据所述的订阅请求或探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅;
如果存在,则根据所述已存在的SIMPLE侧订阅的订阅状态向XMPP侧发送相应的响应消息。
本发明实施例提供一种SIMPLE用户订阅XMPP用户呈现信息的方法,包括:
接收SIMPLE侧用户发送的订阅XMPP侧用户的订阅请求;
根据所述的订阅请求判断SIMPLE侧是否已存在所述SIMPLE用户对所述XMPP用户的订阅;
如果存在,则根据所述已存在的SIMPLE侧订阅状态向SIMPLE侧发送相应的响应消息。
本发明实施例提供一种SIMPLE用户订阅XMPP用户呈现信息的方法,包括:
接收SIMPLE用户发送的订阅XMPP用户的订阅请求;
当互连网关保存有所述SIMPLE用户订阅所述XMPP用户的订阅关系时,根据所述的订阅关系确定XMPP侧订阅状态为激活态,或当互连网关未保存所述SIMPLE用户订阅所述XMPP用户的订阅关系时,将所述订阅请求发送给XMPP侧,并根据收到的XMPP侧订阅响应判断XMPP侧的订阅状态为激活态时,则向SIMPLE侧发送订阅成功响应;
在设定的时间内未收到XMPP侧呈现通知,则向SIMPLE侧发送呈现通知,表明XMPP用户不在线。
本发明实施例提供一种互连网关,包括:
请求接收单元,用于接收XMPP侧用户发送订阅SIMPLE侧用户的订阅请求消息或探针请求;
第一判断单元,用于根据所述XMPP订阅请求或XMPP探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE侧用户的订阅,若已存在,则将所述已存在的订阅状态通知响应单元;
响应生成单元,用于根据SIMPLE侧订阅状态生成相应的XMPP侧响应消息;
发送单元,用于将将所述XMPP侧响应消息发送给XMPP侧。
本发明实施例提供了一种互连网关,包括:
订阅请求接收单元,用于接收SIMPLE用户发送的订阅XMPP用户的订阅请求;
第一判断单元,用于根据所述SIMPLE侧订阅请求判断SIMPLE侧是否已存在所述SIMPLE侧用户对所述XMPP侧用户的订阅,若存在,则将所述已存在的订阅状态通知响应生成单元;
响应生成单元,用于根据SIMPLE侧订阅状态生成相应的SIMPLE侧响应消息;
发送单元,用于将所述SIMPLE侧响应消息发送给SIMPLE侧。
由此可见,本发明具有以下优点:
在本发明中,由于互连网关在接收到订阅请求或者探针请求时,判断SIMPLE侧是否存在相同的订阅,当存在相同订阅的情况下,直接根据SIMPLE侧的订阅状态进行相应的处理,节省了网络资源。
附图说明
图1是现有技术中XMPP用户订阅SIMPLE用户的信令流程图;
图2是现有技术中SIMPLE用户订阅XMPP用户的信令流程图;
图3是本发明实施例一的信令流程图;
图4是本发明实施例二的信令流程图;
图5是本发明实施例三的信令流程图;
图6是本发明实施例五的信令流程图;
图7是本发明实施例六的装置结构图;
图8是本发明实施例七的装置结构图;
图9是本发明实施例八的装置结构图;
图10是本发明实施例九的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
实施例一,以XMPP用户订阅SIMPLE用户的呈现信息为例,其中,SIMPLE用户在授权规则中设置了允许XMPP用户订阅其呈现信息。具体流程如图3所示:
1、XMPP观察者(用户)首次发送XMPP的订阅请求到XMPP呈现服务器;
2、XMPP呈现服务器根据被订阅的呈现者标识将XMPP订阅请求路由到互连网关,互连网关根据订阅者标识、被订阅者标识以及SIMPLE侧订阅状态判断SIMPLE侧是否存在相同的订阅,本实施例中,互连网关据此判断SIMPLE侧不存在相同的订阅,相同的订阅是指订阅者和被订阅者都相同;
3、互连网关将接收到的XMPP订阅请求转换成SIMPLE订阅请求,发送给SIMPLE用户的呈现服务器,记录SIMPLE侧的订阅状态,后续根据SIMPLE侧订阅状态的变迁更新记录的订阅状态、呈现状态,SIMPLE侧订阅会话结束时删除SIMPLE侧订阅状态,具体过程与现有技术一致,在此不再赘述;
4、SIMPLE用户的呈现服务器匹配用户的授权规则,匹配结果为该XMPP观察者被授权该订阅,因此返回订阅成功响应;
5、互连网关接收SIMPLE用户的呈现服务器返回的订阅成功响应,也即SIMPLE侧处于激活态,因此互连网关将SIMPLE的订阅成功响应转换成XMPP侧订阅成功响应,发送给XMPP呈现服务器;
6、XMPP呈现服务器将订阅成功响应发送给XMPP观察者;
7、在步骤4之后,SIMPLE呈现服务器发送呈现通知,通知SIMPLE呈现者(用户)的呈现状态,通知被发送到互连网关;
8、互连网关将SIMPLE呈现通知转换成XMPP的呈现通知,发送给XMPP呈现服务器;
9、XMPP呈现服务器将呈现通知发送给XMPP观察者;
10、互连网关维持SIMPLE侧的订阅状态,互连网关可以选择合适的订阅有效期,并根据SIMPLE呈现通知中的有效期实时修改所维持的SIMPLE侧订阅有效期,互连网关在SIMPLE订阅到期之前,发送刷新订阅请求给SIMPLE呈现服务器;
11、SIMPLE呈现服务器返回刷新订阅成功响应;
12、SIMPLE呈现服务器发送呈现通知;
13、互连网关转换呈现通知后发送给XMPP呈现服务器;
14、XMPP呈现服务器将呈现通知发送给XMPP观察者;
15、XMPP用户下线,拆除与XMPP呈现服务器之间的会话;
16、互连网关在SIMPLE订阅到期之前,再次发送刷新订阅请求;
17、SIMPLE呈现服务器返回刷新订阅成功响应;
18、SIMPLE呈现服务器向互连网关发送呈现通知;
19、互连网关将呈现通知转换成XMPP呈现通知后发送给XMPP呈现服务器;
20、XMPP呈现服务器判断XMPP观察者不在线,因此返回错误响应;
21、互连网关接收到错误响应,向SIMPLE呈现服务器发送SIMPLE侧去订阅请求;
22、SIMPLE呈现服务器接收去订阅请求,向互连网关返回成功响应;
23、SIMPLE呈现服务器向互连网关发送呈现通知,互连网关不再向XMPP侧发送该呈现通知;
24、某段时间后,XMPP用户再次上线,与XMPP呈现服务器之间建立会话;
25、XMPP呈现服务器向互连网关发送探针(prob)请求;
26、互连网关接收探针请求,根据订阅者标识和被订阅者标识判断SIMPLE侧不存在相同的订阅,因此将该探针请求转换成SIMPLE侧订阅请求,发送给SIMPLE呈现服务器;
27、SIMPLE呈现服务器接收订阅请求,通过授权检查,向互连网关返回成功响应;
28、SIMPLE呈现服务器向互连网关发送呈现通知;
29、互连网关将接收到的呈现通知转换为XMPP呈现通知并发送给XMPP呈现服务器;
30、XMPP呈现服务器将接收到的呈现通知发送给XMPP观察者。
可替代的,如果XMPP观察者下线之后,在步骤21,互连网关向SIMPLE呈现服务器发送去订阅请求之前,XMPP观察者再次上线,与XMPP呈现服务器建立会话,并向互连网关发送探针请求,则步骤20以后的具体流程为:
31、XMPP观察者上线,与XMPP呈现服务器建立会话;
32、XMPP呈现服务器向互连网关发送探针请求;
33、互连网关接收探针请求,根据订阅者标识和被订阅者标识判断SIMPLE侧存在相同的订阅,由于SIMPLE侧的订阅还处于激活状态,即存在相同的订阅,则互连网关将记录的该XMPP侧用户的呈现信息通过呈现通知发送给XMPP呈现服务器
34、XMPP呈现服务器将接收到的呈现通知发送给XMPP观察者。
在本实施例中,由于互连网关在接收到订阅请求或者探针请求时,判断SIMPLE侧是否存在相同的订阅,当存在相同订阅的情况下,直接根据SIMPLE侧的订阅状态进行相应的处理,节省了网络资源,同时,互连网关仅在SIMPLE订阅会话有效期内记录SIMPLE用户对XMPP用户的订阅情况,而无需持久保存XMPP侧SIMPLE用户订阅XMPP用户的订阅状态,减轻了互连网关的负荷;也避免了某些情况下,因互连网关没收到XMPP用户下线的呈现通知,而导致在该XMPP用户再次上线,向互连网关发送探针请求时,互连网关向SIMPLE呈现服务器重发SIMPLE侧订阅,造成SIMPLE侧存在多个重复订阅的情况。
另外,由于SIMPLE侧刷新订阅之后,经由互连网关向XMPP呈现服务器发送呈现通知,在XMPP呈现服务器判断XMPP用户下线后返回错误响应,互连网关及时向SIMPLE侧去订阅,及时释放网络资源同时也避免了用户发送假不在线呈现状态导致互连网关终止SIMPLE侧订阅的情况,提高了用户的体验。
实施例二,仍以XMPP用户订阅SIMPLE用户的呈现信息为例,不过,一开始,SIMPLE用户并未在授权规则中设置允许XMPP用户订阅其呈现信息;授权情况在订阅过程中发生两次更新,分别更新为授权、禁止两种情况。具体流程如图4所示:
1、XMPP观察者(用户)发出XMPP的订阅请求,请求首先被发送到XMPP呈现服务器;
2、XMPP呈现服务器根据被订阅的呈现者标识将XMPP订阅请求路由到互连网关,互连网关判断SIMPLE侧是否存在相同的订阅,本实施例中,互连网关据此判断SIMPLE侧不存在相同的订阅;
3、互连网关将接收到的XMPP订阅请求转换成SIMPLE订阅请求,发送给SIMPLE用户的呈现服务器,记录SIMPLE侧的订阅状态,后续根据SIMPLE侧订阅状态的变迁更新记录的订阅状态、呈现状态,SIMPLE侧订阅会话结束时删除SIMPLE侧订阅状态的记录,具体过程与现有技术一致,在此不再赘述;
4、SIMPLE呈现服务器检查授权规则,发现SIMPLE呈现者(用户)并未对XMPP用户设置授权规则,即,没有明确授权XMPP用户订阅,也没有明确拒绝XMPP用户拒绝,因此向互连网关返回订阅状态未决响应;
5、SIMPLE呈现服务器向互连网关发送呈现通知,通知中表明订阅状态未决,互连网关不向XMPP侧发送响应;
6、某个时刻,SIMPLE用户修改了授权规则,授权XMPP用户订阅其呈现信息;
7、SIMPLE呈现服务器向互连网关发送呈现通知,通知中携带SIMPLE用户呈现信息,同时表明订阅处于激活状态;
8、互连网关接收呈现通知,发现呈现状态由未决变成激活,因此向XMPP侧发送订阅成功响应;
9、XMPP呈现服务器将订阅成功响应发送给XMPP观察者;
10、步骤8之后,互连网关将SIMPLE呈现通知转换成XMPP呈现通知发送给XMPP呈现服务器;
11、XMPP呈现服务器将呈现通知发送给XMPP用户;
12、某个时刻,SIMPLE用户修改授权规则,拒绝XMPP用户订阅其呈现信息;
13、SIMPLE呈现服务器根据新修改的授权规则,发送呈现通知,通知中表明订阅状态为终止,原因为未授权;
14、互连网关接收呈现通知,发送XMPP侧订阅终止响应;
15、XMPP呈现服务器修改用户联系人列表状态,将订阅终止响应发送给XMPP观察者。
可替代地,如果步骤2中,如果互连网关根据订阅者标识以及被订阅者标识判断SIMPLE侧存在相同的订阅请求,则直接根据SIMPLE侧的订阅状态进行相应的处理,具体如下:
如果SIMPLE侧订阅状态为激活状态,则生成XMPP侧订阅成功响应发送给XMPP呈现服务器;
如果SIMPLE侧订阅状态为未决状态,则不做进一步处理;
如果SIMPLE侧订阅状态为拒绝状态,则生成XMPP侧订阅失败响应发送给XMPP呈现服务器。
可替代地,步骤11之后,XMPP侧用户向互连网关发起去订阅请求,则互连网关判断SIMPLE侧存在相同的订阅,则向SIMPLE侧发起去订阅请求,完成去订阅。
在本实施例中,由于互连网关在接收到订阅请求或者探针请求时,判断SIMPLE侧是否存在相同的订阅,当存在相同订阅的情况下,直接根据SIMPLE侧的订阅状态进行相应的处理,节省了网络资源。
实施例三,以SIMPLE用户订阅XMPP用户的呈现信息为例,其中,SIMPLE用户首次订阅XMPP用户呈现信息。具体流程如图5所示:
1、SIMPLE用户发送订阅请求,请求订阅XMPP用户的呈现信息,订阅请求首先发送到SIMPLE呈现服务器;
2、SIMPLE呈现服务器根据被订阅的呈现者标识将SIMPLE订阅请求路由到互连网关;
3、互连网关接收到SIMPLE侧订阅请求,记录SIMPLE侧的订阅状态,后续根据SIMPLE侧订阅状态的变迁更新记录的订阅状态、呈现状态,SIMPLE侧订阅会话结束时删除SIMPLE侧订阅状态,具体过程与现有技术一致,在此不再赘述;
本实施例中,SIMPLE首次订阅XMPP用户呈现信息,互连网关判断SIMPLE侧不存在相同的订阅,因此,互连网关向XMPP呈现服务器发送XMPP侧探针请求,其中,相同的订阅是指订阅者和被订阅者都相同;
4、XMPP呈现服务器收到探针请求,判断SIMPLE用户没有订阅XMPP用户的呈现信息时或XMPP侧用户未授权SIMPLE用户的订阅时,向互连网关返回错误响应;
5、互连网关接收错误响应,呈现服务器判断该错误响应的错误原因为SIMPLE用户没有订阅XMPP用户的呈现信息,则向SIMPLE呈现服务器返回订阅未决响应,并进行步骤6-19;可替代地,如果错误原因为未授权,则向SIMPLE呈现服务器返回订阅未决响应,并进行步骤6-8;
6、SIMPLE呈现服务器将订阅未决响应发送给SIMPLE观察者;
7、步骤5之后,互连网关向SIMPLE呈现服务器发送呈现通知,表明订阅处于未决状态;
8、SIMPLE呈现服务器将该呈现通知发送给SIMPLE观察者;
9、步骤5之后,互连网关将SIMPLE侧订阅请求转换成XMPP订阅请求发送给XMPP呈现服务器;
10、XMPP呈现服务器将订阅请求发送给XMPP呈现者;
11、XMPP呈现者决定授权给SIMPLE用户订阅其呈现信息,因此返回订阅成功响应;
12、XMPP呈现服务器向互连网关发送订阅成功响应;
13、XMPP呈现服务器向互连网关发送呈现通知,包含XMPP用户呈现信息;
14、互连网关向SIMPLE呈现服务器发送SIMPLE侧呈现通知,包含XMPP用户呈现信息,同时表明SIMPLE侧订阅处于激活状态;
15、SIMPLE呈现服务器将SIMPLE呈现通知发送给SIMPLE观察者;
16、某个时刻,XMPP用户决定取消给SIMPLE用户的授权,因此发送终止订阅请求给XMPP呈现服务器;
17、XMPP呈现服务器发送终止订阅请求给互连网关;
18、互连网关向SIMPLE呈现服务器发送SIMPLE呈现通知,表明订阅终止;
19、SIMPLE呈现服务器将SIMPLE呈现通知发送给SIMPLE观察者。
可替代地,如果步骤3之后,若互连网关没有收到XMPP呈现服务器返回错误响应;且在设定的时间内,互连网关也没有接收到XMPP侧的呈现通知,向SIMPLE侧发送订阅成功响应,并向SIMPLE侧发送呈现通知,表明XMPP用户不在线。
可替代地,如果步骤13之后、该订阅对话结束之前,互连网关接收到SIMPLE用户通过SIMPLE呈现服务器发送的刷新订阅请求(由于SIMPLE订阅只在订阅会话内有效,因此在订阅会话有效期结束前需要刷新订阅),则互连网关根据当前的订阅状态(激活态)向SIMPLE呈现服务器返回XMPP侧订阅成功响应,同时将记录的XMPP用户呈现信息通过SIMPLE呈现服务器通知发送给SIMPLE用户。
在本实施例中,由于互连网关在接收到SIMPLE侧订阅请求时,判断SIMPLE侧是否存在相同的订阅,当存在相同订阅的情况下,根据SIMPLE侧的订阅状态进行相应的处理,节省了网络资源;也避免了因SIMPLE侧用户刷新订阅请求而导致XMPP用户频繁授权,从而维持了XMPP用户现有的体验,同时,互连网关不需要持久保存SIMPLE用户对XMPP用户的订阅关系,节约了呈现服务器存储空间。
进一步地,本实施例中,XMPP用户在SIMPLE用户的订阅成功后又隐身,XMPP呈现服务器不向互连网关发送呈现通知的情况下,及时向SIMPLE用户发送呈现通知,表明呈现者的情况,提高SIMPLE用户订阅XMPP用户的体验。
实施例四,以SIMPLE用户订阅XMPP用户为例,其中,SIMPLE用户订阅XMPP用户呈现信息时,互连网关在XMPP侧持久保存SIMPLE用户对XMPP用户的订阅关系,具体流程如下:
1、SIMPLE用户发送订阅请求,请求订阅XMPP用户的呈现信息,订阅请求首先发送到SIMPLE呈现服务器;
2、SIMPLE呈现服务器根据被订阅的呈现者标识将SIMPLE订阅请求路由到互连网关;
3、互连网关接收到SIMPLE侧订阅请求,记录SIMPLE侧的订阅状态,后续根据SIMPLE侧订阅状态的变迁更新记录的订阅状态、呈现状态,SIMPLE侧订阅会话结束时删除SIMPLE侧订阅状态,具体过程与现有技术一致,在此不再赘述;
互连网关查找自身保存的XMPP侧同一SIMPLE用户对同一XMPP用户的订阅关系,如果互连网关没有保存该订阅关系,则将接收到的SIMPLE侧订阅请求转换成XMPP侧订阅请求发送给XMPP侧,根据接收的响应判断XMPP侧订阅状态并保存,如果互连网关保存了该订阅关系,则根据所述的订阅关系确定XMPP侧的订阅状态,且当订阅状态为激活时,发送探针请求,当订阅状态为未决时,不发送探针请求;
根据上述方法,获知的XMPP侧订阅状态,如果XMPP侧订阅状态为未决,则向SIMPLE用户发送订阅响应和呈现通知,表明订阅状态为未决;如果订阅状态为激活,则向SIMPLE用户发送订阅成功响应,则设定计时器,在计时器超时前:
如果有收到过XMPP呈现通知,则将该XMPP呈现通知转换为SIMPLE呈现通知发送给SIMPLE用户,表示XMPP用户呈现状态,终止计时器;
如果没有收到过XMPP呈现通知,向SIMPLE侧发送呈现通知,表明XMPP用户不在线。
可替代地,步骤3中,在互连网关接收到SIMPLE侧订阅请求之后,查找互连网关保存的订阅关系之前,进一步包括,判断SIMPLE侧是否存在相同的订阅,如果存在,根据SIMPLE侧相同订阅的订阅状态返回响应,如果不存在,则查找互连网关保存的订阅关系。
本实施例中,在XMPP用户不在线等原因导致XMPP呈现服务器不向互连网关返回错误响应,也不向互连网关发送呈现通知的情况下,及时向SIMPLE用户发送呈现通知,表明XMPP侧订阅状态以及呈现者的情况,提高SIMPLE用户订阅XMPP用户的体验。
实施例五,以SIMPLE用户订阅XMPP用户的呈现信息为例,其中, 同一SIMPLE用户的两个终端SIMPLE UE1和SIMPLE UE2订阅XMPP呈现者呈现信息,具体流程如图6所示:
1、SIMPLE UE1发送SIMPLE订阅请求,请求订阅XMPP用户的呈现信息,该SIMPLE订阅请求首先被发送到SIMPLE呈现服务器;
2、SIMPLE呈现服务器根据被订阅的呈现者标识将SIMPLE订阅请求路由到互连网关;
3、互连网关接收到SIMPLE侧订阅请求,互连网关判断SIMPLE侧不存在相同的订阅,因此,互连网关向XMPP呈现服务器发送XMPP侧探针请求,记录SIMPLE侧的订阅状态,后续根据SIMPLE侧订阅状态的变迁更新记录的订阅状态、呈现状态,SIMPLE侧订阅会话结束时删除SIMPLE侧订阅状态,具体过程与现有技术一致,在此不再赘述;
4、XMPP呈现服务器判断SIMPLE用户处于XMPP用户的联系人列表中,且处于允许获取呈现信息状态,因此向SIMPLE用户发送呈现通知,呈现通知被发送到互连网关;
5、互连网关接收到呈现通知,首先返回SIMPLE侧订阅成功响应;
6、SIMPLE呈现服务器将SIMPLE订阅成功响应返回给SIMPLE UE1;
7、步骤5之后,互连网关发送SIMPLE侧呈现通知,包含XMPP用户呈现信息,表明订阅处于激活状态;
8、SIMPLE呈现服务器将呈现通知发送给SIMPLE UE1;
9、SIMPLE UE2发送SIMPLE订阅请求,请求订阅XMPP用户的呈现信息;
10、SIMPLE呈现服务器将SIMPLE订阅请求发送到互连网关;
11、互连网关判断已经在SIMPLE侧存在该SIMPLE用户对同一XMPP用户的订阅,且订阅处于激活状态,因此返回SIMPLE侧订阅成功响应;
12、SIMPLE呈现服务器将订阅成功响应发送给SIMPLE UE2;
13、步骤11之后,互连网关将记录的XMPP用户呈现状态通过呈现通知发送给SIMPLE呈现服务器;
14、SIMPLE呈现服务器将呈现通知发送给SIMPLE UE2;
15、XMPP用户呈现状态发生变化,XMPP呈现服务器发送呈现通知;
16、互连网关收到XMPP呈现通知,判断SIMPLE侧有两个订阅和XMPP侧呈现通知关联,即SIMPLE U1和SIMPLE U2的订阅都与XMPP侧的呈现通知相关联,因此发送两个SIMPLE侧呈现通知,为本步骤的呈现通知和步骤18的呈现通知;
17、SIMPLE呈现服务器将呈现通知发送给SIMPLE UE1,具体地,SIMPLE呈现服务器可以通过SIMPLE订阅会话的会话ID寻址到UE1,或者也可以通过其他现有方式寻址到UE1,在此,不再赘述;
18、互连网关向SIMPLE UE2发送呈现通知;
19、SIMPLE呈现服务器将呈现通知发送给SIMPLE UE2;
20、SIMPLE UE2发送去订阅请求,该去订阅请求中携带指示信息表明终止本次订阅,该去订阅请求经过SIMPLE呈现服务器呈现服务器到达互连网关,互连网关返回去订阅成功响应,同时发送最后一个呈现通知,表明订阅结束,SIMPLE UE2完成去订阅;
21、XMPP用户呈现状态发生变化,XMPP呈现服务器发送呈现通知;
22、互连网关收到XMPP呈现通知,判断SIMPLE侧有一个订阅和XMPP侧呈现通知关联,因此在SIMPLE侧订阅会话内发送呈现通知;
23、SIMPLE呈现服务器将呈现通知发送给SIMPLE UE1;
24、SIMPLE UE1完成去订阅,具体信令和步骤20相同;
25、XMPP用户呈现状态发生变化,XMPP呈现服务器发送呈现通知;
26、互连网关收到XMPP呈现通知,判断SIMPLE侧没有订阅和XMPP侧呈现通知关联,因此返回错误响应,XMPP呈现服务器不再向SIMPLE用户发送呈现通知。
可替代地,在步骤20、24中,SIMPLE去订阅请求中,该去订阅请求中携带指示信息表明一定时间内不再订阅该用户信息,该去订阅请求经过SIMPLE呈现服务器到达互连网关,互连网关将接收到的SIMPLE侧去订阅请求转换成XMPP侧去订阅请求发送给XMPP呈现服务器,完成去订阅。
在本实施例中,由于互连网关在接收到订阅请求或者探针请求时,首先判断SIMPLE侧是否存在相同的订阅,当存在相同订阅的情况下,根据SIMPLE侧的订阅状态进行相应的处理,节省了网络资源,也避免了因SIMPLE侧用户刷新订阅请求而导致XMPP用户频繁授权,从而维持了XMPP用户现有的体验。
由于,XMPP机制下,除非订阅者或者被订阅者取消订阅,否则,XMPP侧订阅一直有效,因此,本实施例中,当UE的去订阅请求表明仅终止本次订阅的情况下,互连网关在接收到SIMPLE侧去订阅请求后,并未将该去订阅请求发送给XMPP侧,维持了XMPP侧用户的原有的体验,避免了因为需要频繁处理SIMPLE用户的订阅请求和去订阅请求导致XMPP用户体验下降。另外,考虑SIMPLE用户多终端订阅的情况,在本实施例中,每个终端订阅成功后,由互连网关将呈现通知返回给相应的终端,而不会发送给该SIMPLE用户下的其他终端,同理,每个终端去订阅成功后,也由互连网关向该终端返回去订阅成功响应,而不会将该去订阅成功响应发送给该SIMPLE用户下的其他终端;避免了现有技术中SIMPLE用户多终端订阅时,一个终端的订阅引起XMPP呈现服务器返回呈现通知,经互连网关发送给SIMPLE用户已经订阅的其他终端,此时,XMPP用户的呈现信息没有变化,互连网关没有必要发送呈现通知;同时也避免了现有技术中SIMPLE用户多终端订阅时,一个终端的去订阅,引起XMPP呈现服务器返回订阅终止响应,从而影响到该用户其他终端的订阅。
实施例六,提供了一种互连网关,以实现XMPP用户订阅SIMPLE用户的呈现信息,如图7所示,该互连网关包括:请求接收单元、第一判断单元、第二判断单元、响应生成单元、第一转换单元、SIMPLE侧响应接收单元、发送单元,其中,
请求接收单元,用于接收XMPP侧用户发送的订阅SIMPLE侧用户的订阅请求消息或探针请求消息;
第一判断单元,用于根据所述订阅请求或探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE侧用户的订阅,若已存在,则将所述已存在的订阅状态通知响应单元,若不存在,则将所述的订阅请求或者探针请求发送给转换单元;
第一转换单元,用于将接收到的XMPP订阅请求或者XMPP侧探针请求转换成SIMPLE订阅请求发送给发送单元;
SIMPLE侧响应接收单元,用于接收SIMPLE侧对所述的SIMPLE订阅请求消息的响应消息,将该响应消息发送给第二判断单元;
第二判断单元,用于根据接收到的订阅响应消息判断SIMPLE侧的订阅状态,并将订阅状态通知响应生成单元;
响应生成单元,用于根据SIMPLE侧订阅状态生成相应的XMPP侧响应消息发送给发送单元;
发送单元,用于将接收到SIMPLE订阅请求消息发送给SIMPLE侧,将接收到的XMPP侧响应消息发送给XMPP侧。
实施例七,具体地,本发明又一个实施例的互连网关,以实现XMPP用户订阅SIMPLE用户的呈现信息,参考图8,互连网关的具体处理如下:
订阅请求接收单元,接收XMPP侧的订阅请求,将该订阅请求发送给第一判断单元;
探针请求接收单元,接收XMPP侧的探针请求,将该探针请求发送给第一判断单元;
订阅状态处理单元,用于在SIMPLE订阅会话期间,记录、更新或删除SIMPLE侧订阅状态、呈现信息;
第一判断单元,若接收到订阅请求,则根据订阅请求中的订阅者标识被订阅者标识以及订阅状态处理单元记录的SIMPLE侧订阅状态判断SIMPLE侧是否存在相同的订阅,如果存在,则将SIMPLE侧已经存在的订阅状态通知响应生成单元,并通知订阅状态处理单元更新记录,如果不存在,则将该订阅请求发送给第一转换单元,并通知订阅状态处理单元记录订阅状态;若接收到探针请求,则根据探针请求中的订阅者标识以及被订阅者标识判断SIMPLE侧是否存在相同的订阅,如果存在,则将SIMPLE侧已经存在的订阅状态通知响应生成单元,并通知订阅状态处理单元更新记录,如果不存在,则将该探针请求发送给第一转换单元,并通知订阅状态处理单元记录订阅状态;
第一转换单元,将接收到的XMPP订阅请求或者XMPP侧探针请求转换成SIMPLE订阅请求,并发送给发送单元;
SIMPLE侧响应接收单元,接收SIMPLE侧对所述的SIMPLE订阅请求的响应,将该响应消息发送给第二判断单元;
第二判断单元,根据接收到的订阅响应判断SIMPLE侧的订阅状态,并将订阅状态通知响应生成单元,通知订阅状态处理单元更新记录;
响应生成单元,根据SIMPLE侧订阅状态生成相应的XMPP侧响应,具体地,
当第一判断单元接收的是订阅请求时:
若SIMPLE侧已经存在的订阅状态为激活状态,则生成XMPP侧订阅成功响应消息,并将该成功响应消息发送给发送单元;
若所述第二判断单元通知的订阅状态为激活状态,则生成XMPP侧订阅成功响应消息,并将该成功响应消息发送给发送单元;
若所述第二判断单元通知的订阅状态为拒绝状态,则生成XMPP侧订阅失败响应消息,并将该失败响应消息发送给发送单元;
当第一判断单元接收的是探针请求时:
若SIMPLE侧已经存在的订阅状态为未决状态,则生成XMPP侧错误响应消息,并将该错误响应消息发送给发送单元;
若所述第二判断单元通知的订阅状态为未决状态,则生成XMPP侧错误响应消息,并将该错误响应消息发送给发送单元;
若所述第二判断单元通知的订阅状态为拒绝状态,则生成XMPP侧订阅终止响应消息,并将该失败响应消息发送给发送单元;
发送单元,将接收到的消息发送给XMPP侧。
较佳地,本发明的一个实施例的互连网关,该互连网关进一步包括:
呈现通知接收单元,接收SIMPLE侧呈现通知,将呈现通知发送给第三判断单元;
第三判断单元,根据呈现通知判断SIMPLE侧订阅状态,具体地,
若SIMPLE侧订阅状态为激活状态,则将该SIMPLE侧呈现通知发送给第二转换单元;
若SIMPLE侧订阅状态为订阅终止,且订阅终止原因为取消授权,则经由转换单元向发送单元重发SIMPLE侧订阅请求,该订阅请求可以立即发送,也可以延后再发;
若SIMPLE侧订阅状态为订阅终止,且订阅终止原因不是取消授权、终止之前的订阅状态为未决,则维持SIMPLE侧订阅状态。
若SIMPLE侧订阅状态为未决,则维持SIMPLE侧订阅状态;
若SIMPLE侧订阅状态为从未决变成激活,则将SIMPLE侧最新的订阅状态发送给响应生成单元,并将该SIMPLE呈现通知发送给第二转换单元,响应生成单元根据最新的订阅状态,即激活态,生成订阅成功响应并经由发送单元发送给XMPP侧,且,所述的第三判断单元通知订阅状态处理单元更新记录;
第二转换单元,将SIMPLE侧呈现通知转换成XMPP侧呈现通知并经由发送单元发送给XMPP侧。
较佳地,本发明的一个实施例的互连网关,该互连网关进一步包括:
去订阅请求接收单元,接收XMPP侧的去订阅请求,将所述的去订阅请求发送给第四判断单元;
第四判断单元,根据该去订阅请求中的订阅者标识、被订阅者标识及订阅状态处理单元记录的SIMPLE侧订阅状态判断SIMPLE侧是否存在相同的订阅,如果存在,则将该去订阅请求发送给第三转换单元,并通知订阅状态处理单元更新记录;
第三转换单元,将接收到的XMPP侧去订阅请求转换成SIMPLE侧去订阅请求,并发送给发送单元。
较佳地,本发明的一个实施例的互连网关,该互连网关进一步包括:
XMPP侧响应接收单元,接收XMPP侧返回的错误响应,通知去订阅请求生成单元,生成SIMPLE去订阅请求,并通知订阅状态处理单元更新记录;
去订阅请求生成单元,接收XMPP侧响应接收单元的通知,生成SIMPLE去订阅请求发送给发送单元。
实施例八,提供了一种互连网关,以实现SIMPLE用户订阅XMPP用户的呈现信息,如图9所示,该互连网关包括:
订阅请求接收单元,用于接收SIMPLE用户发送的订阅XMPP用户的订阅请求,并发送给第一判断单元;
第一判断单元,用于根据所述订阅请求判断SIMPLE侧是否已存在所述SIMPLE侧用户对所述XMPP侧用户的订阅,若已存在,则将所述已存在的订阅状态通知响应单元,若不存在,则将所述的订阅请求发送给转换单元;
第一转换单元,用于将接收到的SIMPLE订阅请求转换成探针请求发送给发送单元;
响应生成单元,用于根据SIMPLE侧订阅状态生成相应的SIMPLE侧响应消息发送给发送单元;
发送单元,用于将接收到的SIMPLE侧响应消息发送给SIMPLE侧,将接收到探针请求发送给XMPP侧。
实施例九,具体地,本发明又一个实施例的互连网关,以实现SIMPLE用户订阅XMPP用户的呈现信息,参考图10,互连网关的具体处理如下:
订阅请求接收单元,接收SIMPLE用户发送的订阅XMPP用户的订阅请求,并发送给第一判断单元;
订阅状态处理单元,用于在SIMPLE订阅会话有效期内,记录、更新或删除SIMPLE侧订阅状态、呈现信息;
第一判断单元,根据所述订阅请求中订阅者标识、被订阅者标识及订阅状态处理单元判断SIMPLE侧是否已存在所述SIMPLE侧用户对所述XMPP侧用户的订阅,若已存在,则将所述已存在的订阅状态通知响应单元,通知订阅状态处理单元更新订阅状态的记录,若不存在,则将所述的订阅请求发送给转换单元,通知订阅状态处理单元记录订阅状态;
第一转换单元,将接收到的SIMPLE订阅请求转换成探针请求发送给发送单元;
响应生成单元,根据SIMPLE侧订阅状态生成相应的SIMPLE侧响应消息发送给发送单元;具体地,
如果SIMPLE侧订阅状态为激活状态,则生成SIMPLE订阅成功响应发送给发送单元,并向发送单元发送XMPP用户的呈现信息;
如果SIMPLE侧订阅状态为未决状态,则生成SIMPLE订阅未决响应发送给发送单元,并向发送单元发送呈现通知,表明XMPP用户不在线;
发送单元,将接收到的SIMPLE侧响应消息发送给SIMPLE侧,将接收到探针请求发送给XMPP侧。
较佳地,本发明的一个实施例,该互连网关进一步还包括:
呈现通知接收单元,接收XMPP侧发送的XMPP侧用户的呈现通知,将所述的呈现通知发送给第二判断单元;
第二判断单元,当所述呈现通知为XMPP侧针对所述探针请求返回的呈现通知,向发送单元发送订阅成功响应,并将接收到XMPP呈现通知发送给第二转换单元,并通知订阅状态处理单元根据SIMPLE侧的订阅状态更新记录;否则,进一步根据所述呈现通知判断SIMPLE侧是否已经存在所述XMPP侧用户对所述SIMPLE侧用户的订阅,如果存在,则将所述XMPP侧呈现通知发送给第二转换单元,且通知订阅状态处理单元更新记录;如果不存在,则通知响应单元生成错误响应;
第二转换单元,将接收到的XMPP呈现通知转换成为SIMPLE呈现通知发送给发送单元;相应地,
所述的响应生成单元,进一步用于生成错误响应发送给发送单元;
所述的发送单元,进一步将接收到的SIMPLE呈现通知发送给SIMPLE侧,将接收到的该错误响应发送给XMPP侧。
较佳地,本发明的一个实施例,该互连网关进一步还包括:
XMPP响应接收单元,接收XMPP侧针对所述探针请求返回的错误响应,若错误响应表明XMPP侧不存在相应的订阅,则将请求接收单元接收的SIMPLE订阅请求发送给第三转换单元,并通知订阅状态处理单元更新记录;否则,通知响应单元生成未决响应,并通知订阅状态处理单元更新记录;
第三转换单元,将接收到的SIMPLE订阅请求转换成XMPP订阅请求,并发送给发送单元;相应地,
所述响应生成单元,进一步用于生成未决响应并发送给发送单元;
所述发送单元,进一步用于将接收到XMPP订阅请求发送给XMPP侧,将接收到的未决响应发送给SIMPLE侧。
综上,采用本发明的实施例,可以节约网络资源,进一步克服了现有技术在XMPP与SIMPLE互连时因为机制不同给用户体验带来的冲击,有效的维持了用户现有的体验。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (31)
1.一种XMPP用户订阅SIMPLE用户呈现信息的方法,其特征在于,所述的方法包括:
接收XMPP侧用户发送的订阅SIMPLE用户的订阅请求或者探针请求;
根据所述的订阅请求或探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅;
如果存在,则根据所述已存在的SIMPLE侧订阅的订阅状态向XMPP侧发送相应的响应消息。
2.根据权利要求1所述的方法,其特征在于,如果所述SIMPLE侧不存在所述XMPP侧用户对所述SIMPLE用户的订阅,则所述方法进一步包括:
将所述的XMPP侧订阅请求或者探针请求转换成SIMPLE侧订阅请求发送给SIMPLE侧,接收SIMPLE侧返回的所述SIMPLE订阅请求的响应,根据所述响应向XMPP侧发送相应的响应消息。
3.根据权利要求1所述的方法,其特征在于,所述的方法中,当接收XMPP侧用户发送的订阅SIMPLE用户的订阅请求时,根据所述已存在的SIMPLE侧订阅的订阅状态向XMPP侧发送相应的响应消息包括:
如果所述SIMPLE侧订阅状态为激活状态,则向XMPP侧发送XMPP订阅成功响应。
4.根据权利要求2所述的方法,其特征在于,所述的方法中,当接收XMPP侧用户发送的订阅SIMPLE用户的订阅请求时,接收SIMPLE侧返回的所述SIMPLE订阅请求的响应,根据所述响应向XMPP侧发送相应的响应消息包括:
根据所述SIMPLE侧返回的响应判断SIMPLE侧订阅状态;
如果所述SIMPLE侧订阅状态为激活状态,则向XMPP侧发送XMPP订阅成功响应;
如果SIMPLE侧订阅状态为拒绝状态,则向XMPP侧发送XMPP订阅失败响应。
5.根据权利要求1所述的方法,其特征在于,所述的方法中,当接收XMPP侧用户发送的订阅SIMPLE用户的探针请求时,根据所述已存在的SIMPLE侧订阅的订阅状态向XMPP侧发送相应的响应消息包括:
如果所述SIMPLE侧的订阅状态为未决状态,则向XMPP侧发送错误响应。
6.根据权利要求2所述的方法,其特征在于,所述的方法中,当接收XMPP侧用户发送的订阅SIMPLE用户的探针请求时,接收SIMPLE侧返回的所述SIMPLE订阅请求的响应,根据所述响应向XMPP侧发送相应的响应消息包括:
根据所述SIMPLE侧返回的响应判断SIMPLE侧订阅状态;
如果所述SIMPLE侧订阅状态为未决状态,则向XMPP侧发送XMPP错误响应;
如果SIMPLE侧订阅状态为拒绝状态,则向XMPP侧发送XMPP订阅终止响应。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述的方法中,向XMPP侧发送相应的响应之后,进一步包括:
接收SIMPLE侧的呈现通知,根据所述的呈现通知判断SIMPLE侧的订阅状态;
如果所述的订阅状态为激活状态,则将所述的SIMPLE呈现通知转换为XMPP侧呈现通知发送给XMPP侧;
如果所述的订阅状态由未决状态转为激活状态,则将所述的SIMPLE呈现通知转换为XMPP侧通知发送给XMPP侧,并向XMPP侧发送订阅成功响应;
如果所述的订阅状态为因未授权而终止,则向XMPP侧发送订阅终止响应;
如果所述的订阅状态为因未授权之外的原因而终止,则将所述的SIMPLE呈现通知转换为XMPP侧通知发送给XMPP侧。
8.根据权利要求7所述的方法,其特征在于,所述的方法中,将所述的SIMPLE呈现通知转换为XMPP侧呈现通知发送给XMPP侧之后,进一步包括:
接收到XMPP侧返回的错误响应,向SIMPLE侧发送去订阅请求,请求终止SIMPLE侧相应的订阅。
9.根据权利要求1至6任意一项所述的方法,其特征在于,所述的方法进一步包括:
接收所述XMPP侧用户发送的终止订阅所述SIMPLE侧用户的去订阅请求;
根据所述的去订阅请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅;
如果存在,则向SIMPLE侧发送去订阅请求,请求终止SIMPLE侧相应的订阅。
10.根据权利要求1至6任意一项所述的方法,其特征在于,所述根据所述的订阅请求或探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅,具体包括:
根据所述的订阅请求或探针请求中订阅者标识、被订阅者标识以及SIMPLE侧订阅会话状态判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅。
11.一种SIMPLE用户订阅XMPP用户呈现信息的方法,其特征在于,所述的方法包括:
接收SIMPLE侧用户发送的订阅XMPP侧用户的订阅请求;
根据所述的订阅请求判断SIMPLE侧是否已存在所述SIMPLE用户对所述XMPP用户的订阅;
如果存在,则根据所述已存在的SIMPLE侧订阅状态向SIMPLE侧发送相应的响应消息。
12.根据权利要求11所述的方法,其特征在于,如果所述SIMPLE侧不存在所述SIMPLE用户对所述XMPP用户的订阅,则所述的方法进一步包括:
向XMPP侧发送探针请求。
13.根据权利要求11所述的方法,其特征在于,所述根据SIMPLE侧订阅状态向SIMPLE侧发送相应的响应消息包括:
如果所述SIMPLE侧订阅状态为激活状态,则向SIMPLE侧发送订阅成功响应消息,并向SIMPLE侧发送呈现通知,所述呈现通知包含所述XMPP侧用户的呈现信息;
如果所述SIMPLE侧订阅状态为未决状态,则向SIMPLE侧发送订阅未决响应,并向SIMPLE侧发送呈现通知,表明XMPP用户未在线。
14.根据权利要求12所述的方法,其特征在于,在向XMPP侧发送探针请求之后,进一步包括:
接收XMPP侧发送的呈现通知,向SIMPLE侧发送订阅成功响应,并将所述的XMPP侧呈现通知转换成SIMPLE侧呈现通知发送给SIMPLE侧。
15.根据权利要求12所述的方法,其特征在于,在向XMPP侧发送探针请求之后,进一步包括:
接收XMPP侧发送的错误响应,则向SIMPLE侧发送订阅未决响应,并向SIMPLE侧发送SIMPLE侧未决状态呈现通知;若错误响应表明没有XMPP侧订阅,则进一步向XMPP侧发送订阅请求。
16.根据权利要求12所述的方法,其特征在于,在向XMPP侧发送探针请求之后,进一步包括:
在设定的时间内未收到XMPP侧针对所述探针请求返回的呈现通知或错误响应,向SIMPLE侧发送订阅成功响应,并向SIMPLE侧发送呈现通知,表明XMPP用户不在线。
17.根据权利要求11至16任意一项所述的方法,其特征在于,所述的方法进一步包括:
接收XMPP侧发送的所述XMPP侧用户的呈现通知,根据所述的呈现通知判断SIMPLE侧是否已存在所述SIMPLE侧用户对所述XMPP侧用户的订阅;
如果存在,则将所述XMPP侧呈现通知转换为SIMPLE侧转换通知并发送给所述SIMPLE侧用户;
如果不存在,则向所述SIMEPLE侧发送错误响应。
18.根据权利要求13至16任意一项所述的方法,其特征在于,所述向SIMPLE侧发送响应以及呈现通知具体包括:
向SIMPLE侧同一用户下订阅同一XMPP用户的至少一个SIMPLE终端发送。
19.根据权利要求11至16任意一项所述的方法,其特征在于,所述根据所述的订阅请求或探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅,具体包括:
根据所述的订阅请求或探针请求中订阅者标识、被订阅者标识以及SIMPLE侧订阅会话状态判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE用户的订阅。
20.一种SIMPLE用户订阅XMPP用户呈现信息的方法,其特征在于,所述的方法包括:
接收SIMPLE用户发送的订阅XMPP用户的订阅请求;
当互连网关保存有所述SIMPLE用户订阅所述XMPP用户的订阅关系时,根据所述的订阅关系确定XMPP侧订阅状态为激活态,或当互连网关未保存所述SIMPLE用户订阅所述XMPP用户的订阅关系时,将所述订阅请求发送给XMPP侧,并根据收到的XMPP侧订阅响应判断XMPP侧的订阅状态为激活态时,则向SIMPLE侧发送订阅成功响应;
在设定的时间内未收到XMPP侧呈现通知,则向SIMPLE侧发送呈现通知,表明XMPP用户不在线。
21.一种互连网关,其特征在于,所述的互连网关包括:
请求接收单元,用于接收XMPP侧用户发送订阅SIMPLE侧用户的订阅请求消息或探针请求;
第一判断单元,用于根据所述XMPP订阅请求或XMPP探针请求判断SIMPLE侧是否已存在所述XMPP侧用户对所述SIMPLE侧用户的订阅,若已存在,则将所述已存在的订阅状态通知响应生成单元;
响应生成单元,用于根据SIMPLE侧订阅状态生成相应的XMPP侧响应消息;
发送单元,用于将将所述XMPP侧响应消息发送给XMPP侧。
22.根据权利要求21所述的互连网关,其特征在于,所述的互连网关进一步包括:第一转换单元、SIMPLE侧响应接收单元、第二判断单元,具体地,
当第一判断单元判断所述SIMPLE侧不存在所述XMPP用户对所述SIMPLE用户的订阅时,
所述第一转换单元,用于将所述第一判断单元转发的XMPP订阅请求或XMPP探针请求转换成SIMPLE订阅请求;
所述SIMPLE侧响应接收单元,用于接收SIMPLE侧对所述的SIMPLE订阅请求的响应消息;
所述第二判断单元,用于根据所述响应消息判断SIMPLE侧的订阅状态,并将订阅状态通知响应生成单元;
相应地,所述发送单元,进一步用于将所述SIMPLE订阅请求发送给SIMPLE侧。
23.根据权利要求22所述的互连网关,其特征在于,所述的互连网关进一步包括:
订阅状态处理单元,用于在SIMPLE订阅会话期间,记录、更新、删除SIMPLE侧订阅状态、呈现信息;相应地,
所述第一判断单元,则根据订阅请求中的订阅者标识被订阅者标识以及订阅状态处理单元记录的SIMPLE侧订阅状态判断SIMPLE侧是否存在相同的订阅,并通知订阅状态处理单元记录SIMPLE侧订阅状态或者更新SIMPLE侧订阅状态;
所述第二判断单元,进一步用于通知订阅状态处理单元根据SIMPLE侧的订阅状态更新记录。
24.根据权利要求23所述的互连网关,其特征在于,所述的互连网关进一步包括:
呈现通知接收单元,用于接收SIMPLE侧呈现通知;
第三判断单元,用于根据所述的呈现通知判断SIMPLE侧订阅状态,并通知订阅状态处理单元根据SIMPLE侧的订阅状态更新记录;且,
当SIMPLE侧订阅状态为激活状态时,将该SIMPLE侧呈现通知发送给第二转换单元;
当SIMPLE侧订阅状态为从未决状态变成激活状态时,将SIMPLE侧最新的订阅状态发送给响应生成单元,并将该SIMPLE呈现通知发送给第二转换单元;
第二转换单元,用于将SIMPLE侧呈现通知转换成XMPP侧呈现通知发送给发送单元;相应地,
所述响应生成单元,用于根据SIMPLE侧的订阅状态,生成订阅成功响应;
所述的发送单元,进一步用于将所述XMPP侧呈现通知发送给XMPP侧,将所述订阅成功响应发送给SIMPLE侧。
25.根据权利要求23所述的互连网关,其特征在于,所述的互连网关进一步包括:
去订阅请求接收单元,用于接收XMPP侧用户发送的终止订阅所述SIMPLE侧用户的去订阅请求;
第四判断单元,用于根据所述的去订阅请求中的订阅者标识、被订阅者标识及订阅状态处理单元记录的SIMPLE侧订阅状态判断SIMPLE侧是否存在所述XMPP侧用户对SIMPLE侧用户的订阅,如果存在,则将该去订阅请求发送给第三转换单元,并通知订阅状态处理单元更新记录;
第三转换单元,将接收到的XMPP侧去订阅请求转换成SIMPLE侧去订阅请求;相应地,
所述发送单元,进一步用于将所述SIMPLE侧去订阅请求消息发送给SIMPLE侧。
26.根据权利要求23所述的互连网关,其特征在于,所述的互连网关进一步包括:
XMPP侧响应接收单元,用户接收XMPP侧返回的错误响应,通知去订阅请求生成单元,生成SIMPLE去订阅请求,并通知订阅状态处理单元删除记录;
去订阅请求生成单元,接收XMPP侧响应接收单元的通知,生成SIMPLE去订阅请求发送给发送单元。
27.一种互连网关,其特征在于,所述的互连网关包括:
订阅请求接收单元,用于接收SIMPLE用户发送的订阅XMPP用户的订阅请求;
第一判断单元,用于根据所述SIMPLE侧订阅请求判断SIMPLE侧是否已存在所述SIMPLE侧用户对所述XMPP侧用户的订阅,若存在,则将所述已存在的订阅状态通知响应生成单元
响应生成单元,用于根据SIMPLE侧订阅状态生成相应的SIMPLE侧响应消息;
发送单元,用于将所述SIMPLE侧响应消息发送给SIMPLE侧。
28.根据权利要求27所述的互连网关,其特征在于,所述的互连网关进一步包括第一转换单元,具体地,
当第一判断单元判断所述SIMPLE侧不存在所述SIMPLE侧用户对所述XMPP侧用户的订阅时,
所述第一转换单元,用于将所述第一判断单元转发的SIMPLE侧订阅请求转换成探针请求;
相应地,所述发送单元,进一步用户将所述探针请求发送给XMPP侧。
29.根据权利要求27或28所述的互连网关,其特征在于,所述的互连网关进一步包括:
订阅状态处理单元,用于在SIMPLE订阅会话期间,记录、更新、删除SIMPLE侧订阅状态、呈现信息;相应地,
所述第一判断单元,则根据订阅请求中的订阅者标识被订阅者标识以及订阅状态处理单元记录的SIMPLE侧订阅状态判断SIMPLE侧是否存在相同的订阅,并通知订阅状态处理单元记录订阅状态或者更新订阅状态。
30.根据权利要求29所述的互连网关,其特征在于,所述的互连网关进一步包括:
呈现通知接收单元,用于接收XMPP侧发送的XMPP侧用户的呈现通知;
第二判断单元,当所述呈现通知为XMPP侧针对所述探针请求返回的呈现通知时,向发送单元发送订阅成功响应,将接收到XMPP呈现通知发送给第二转换单元,并通知订阅状态处理单元更新记录;否则,进一步根据所述呈现通知判断SIMPLE侧是否已经存在所述XMPP侧用户对所述SIMPLE侧用户的订阅,如果存在,则将所述XMPP侧呈现通知发送给第二转换单元,如果不存在,则通知响应生成单元生成错误响应;
第二转换单元,用于将接收到的XMPP呈现通知转换成为SIMPLE呈现通知;相应地,
所述的响应生成单元,进一步用于生成错误响应;
所述的发送单元,用于将所述SIMPLE呈现通知发送给SIMPLE侧,将所述错误响应发送给XMPP侧。
31.根据权利要求29所述的互连网关,其特征在于,所述的互连网关进一步包括:
XMPP响应接收单元,用于接收XMPP侧针对所述探针请求返回的错误响应,若错误响应表明XMPP侧不存在相应的订阅,则将请求接收单元接收的SIMPLE订阅请求发送给第三转换单元,并通知订阅状态处理单元更新记录;否则,通知响应生成单元生成未决响应,并通知订阅状态处理单元更新记录;
第三转换单元,用于将接收到的SIMPLE订阅请求转换成XMPP订阅请求;相应地,
所述响应生成单元,进一步用于生成未决响应;
所述发送单元,进一步用于将所述XMPP订阅请求发送给XMPP侧,将所述未决响应发送给SIMPLE侧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100662251A CN101547213B (zh) | 2008-03-29 | 2008-03-29 | 一种实现呈现业务的方法和互连网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100662251A CN101547213B (zh) | 2008-03-29 | 2008-03-29 | 一种实现呈现业务的方法和互连网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101547213A CN101547213A (zh) | 2009-09-30 |
CN101547213B true CN101547213B (zh) | 2012-11-21 |
Family
ID=41194096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100662251A Active CN101547213B (zh) | 2008-03-29 | 2008-03-29 | 一种实现呈现业务的方法和互连网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101547213B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143142A (zh) * | 2010-09-30 | 2011-08-03 | 华为软件技术有限公司 | Ip多媒体子系统业务中订阅处理方法和资源列表服务器 |
CN105553818B (zh) * | 2015-12-10 | 2018-07-10 | 河北远东通信系统工程有限公司 | 一种基于xmpp协议实现电子公告的系统和方法 |
CN107918673B (zh) * | 2017-12-12 | 2022-11-04 | 腾讯科技(深圳)有限公司 | 订阅数据处理方法、装置、存储介质和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794634A (zh) * | 2005-09-02 | 2006-06-28 | 华为技术有限公司 | 一种呈现业务系统及发布和获取呈现信息的方法 |
CN1852267A (zh) * | 2005-09-13 | 2006-10-25 | 华为技术有限公司 | 一种不同类型存在系统间的互连方法及互连服务器 |
CN101064692A (zh) * | 2006-04-27 | 2007-10-31 | 华为技术有限公司 | 一种呈现信息的发布方法、设备及系统 |
-
2008
- 2008-03-29 CN CN2008100662251A patent/CN101547213B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794634A (zh) * | 2005-09-02 | 2006-06-28 | 华为技术有限公司 | 一种呈现业务系统及发布和获取呈现信息的方法 |
CN1852267A (zh) * | 2005-09-13 | 2006-10-25 | 华为技术有限公司 | 一种不同类型存在系统间的互连方法及互连服务器 |
CN101064692A (zh) * | 2006-04-27 | 2007-10-31 | 华为技术有限公司 | 一种呈现信息的发布方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101547213A (zh) | 2009-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814167B2 (en) | System and method for obtaining remote instant messages | |
CN101151873B (zh) | 用于提供交互式通信的系统和方法 | |
US8099510B2 (en) | Relay device and program product, allowing continued communication via an alternative protocol | |
CN100446516C (zh) | 一种实现视频共享业务的方法、系统及装置 | |
CN104836723A (zh) | 基于mqtt主题订阅机制的通信方法以及接入网关 | |
WO2007007962A1 (en) | Messenger notification system and method using synchronization server | |
US8364122B2 (en) | Delayed delivery messaging | |
CN106686056A (zh) | 一种安卓客户端通信装置及与服务器进行连接通信的方法 | |
CN106936896B (zh) | Kafka集群的数据传送方法和装置 | |
CN102647365A (zh) | 处理消息及消息状态的方法、装置和数据交换服务器 | |
CN101547213B (zh) | 一种实现呈现业务的方法和互连网关 | |
CN101137104B (zh) | 一种实现资源释放的方法和系统 | |
KR100548429B1 (ko) | 이동통신 단말기 메시지의 호환을 위한 시스템 및 방법 | |
WO2006115377A1 (en) | Notification system and method using messenger | |
CN105515936A (zh) | 消息通信的方法、服务器和系统 | |
CN101325563B (zh) | 一种呈现互连网关和互连方法 | |
EP1654845A1 (en) | Message system | |
KR100811882B1 (ko) | Parla y X 웹서비스를 이용한 멀티미디어 메시지서비스 방법 및 장치 | |
CN109120578B (zh) | 一种实现链路连接处理的方法及装置 | |
JP5512919B2 (ja) | 異なるサービス間でのサービス利用状況の共有方式 | |
EP2640029A1 (en) | System and method for transmitting multipage multimedia messages, session initiation protocol terminal and multimedia message proxy server | |
CN113542408B (zh) | 一种司机和乘客交互消息的方法 | |
KR100673258B1 (ko) | 스케줄 관리 방법 및 시스템 | |
CN101355442B (zh) | 一种呈现服务器及其订阅状态机状态迁移的方法 | |
KR100902745B1 (ko) | 이동 통신망에서의 mms 수신 통지 메시지 재전송 시스템및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |