一种提供观察者信息的方法和呈现服务器的制作方法

文档序号:7957540阅读:120来源:国知局
专利名称:一种提供观察者信息的方法和呈现服务器的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及基于会话初始协议SIP实现的呈现业 务(PRESENCE SERVICE )。
背景技术
在呈现业务中观察者订阅呈现体的呈现信息,观察者信息(Watcher Information)指呈现体的观察者订阅状态信息,在互联网工程任务组IETF (Internet Engineering Task Force) RFC3857中定义了观察者信息事件包,以 及基于SIP的观察者信息订阅和通知的处理流程。呈现服务器允许呈现体订阅 自己的观察者信息,当观察者信息中的订阅状态发生变化时,则呈现服务器发 送相应的通知,通知消息体的内容举例如下<watcherinfo xmlns="um:ietf:params:xml:ns:watcherinfo"version="0" state="fiill"> <watcher-list resource="sip:B@example.com" package="presence"> <watcher id="7168a72s" event="subscribe"status="pending">sip:A@example.com</watcher> </watcher-list> </watcherinfo〉该通知的内容指出观察者"sip:A@example.com"对该呈现体 "sip:B@example.com"的订阅状态status为"pending",即挂起状态。呈现服务器维护一个如图l所示的订阅状态机,当呈现服务器接收到一个 对呈现体的呈现信息订阅时,根据该呈现体对应的授权策略确定是否允许该订 阅,如果对发起订阅的观察者的授权策略为拒绝,则该订阅进入终止状态;如 果授权策略为接受,则该订阅进入激活状态;如果没有预先设置策略,则该订 阅进入挂起状态。 一个挂起的订阅如果得到呈现体的批准则进入激活状态,如 果放弃或拒绝等则进入终止状态,如杲超时则进入等待状态。详细的状态转移可参考RFC3857。当订阅状态发生变化时,服务器会将变化的订阅状态通知给 观察者信息订阅者通常为该呈现体。在呈现业务中隐身是指一个在线(on-line)用户的联系人看到该用户是离 线(off-line)的,而同时该用户还可以订阅获取到联系人的呈现信息,这样可 使用户减少一些不想要的打扰。然而由于在基于SIP协议实现的呈现业务中存 在上述的观察者信息订阅机制, 一个想隐身的在线用户虽然可以将自己的状态 设置为离线,他的联系人的客户端也相应显示该用户为离线状态,但由于该用 户订阅了联系人的呈现信息,则联系人实际上可以通过订阅观察者信息而获知 到该用户当前正在订阅自己的呈现信息,即获知实际上该用户是在线的。发明内容本发明给出了 一种提供观察者信息的方法,用以解决目前在基于会话初始问题。还进一步给出了隐身的实现方案。 本发明提供观察者信息的方法包括步骤 第一用户客户端向呈现服务器订阅自己的观察者信息; 呈现服务器对所述观察者信息的订阅请求施加过滤条件; 呈现服务器将所述观察者信息进行过滤后再发送给第 一用户客户端。 进一步,所述过滤条件包括内容条件,呈现服务器将所述观察者信息进行过滤后再发送给第 一用户客户端的步骤具体为呈现服务器根据过滤条件中的内容条件将所述观察者信息为挂起和/或等待状态的信息包含在通知消息中发送给第一用户客户端。所述过滤条件还包括触发条件,该方法还包括步骤根据过滤条件中的触发条件呈现服务器在检测到所述观察者信息中有订阅状态变为桂起或等待状 态时,向第一用户客户端发送4目应的通4P消息。如果第一用户客户端发送的观察者信息订阅请求中已经包含有用户设置 的过滤条件,则呈现服务器先对呈现服务器施加的过滤条件和用户设置的过滤 条件进行合并处理,然后再根据合并后的过滤条件对所述观察者信息进行过滤。该方法还包括步骤第一用户客户端和第二用户客户端互相订阅对方的呈 现信息;当第二用户客户端设置为隐身时,呈现服务器向第一用户客户端发送 的呈现信息指示第二用户为离线状态。所述当第二用户客户端设置为隐身时,呈现服务器向第 一用户客户端发送 的呈现信息指示第二用户为离线状态的步骤具体包括在第二用户的授权配置文档中将第一用户的身份标识或第一用户所在的 群组标识与类标识相关联;第二用户客户端将呈现信息中的离线状态与类标识相关联,并发布到呈现服务器;呈现服务器根据所述的关联向第 一用户客户端发送指示第二用户为离线 状态的呈现信息。所述当第二用户客户端设置为隐身时,呈现服务器向第 一用户客户端发送 的呈现信息指示第二用户为离线状态的步骤具体包括在第二用户的授权配置文档中将第 一用户的身份标识或第一用户所在的 群组标识与隐身变换相关联;呈现服务器向第 一用户提供的呈现信息时进行隐身变换处理,向第 一用户 客户端发送指示第二用户为离线状态的呈现信息。将所述隐身变换还与业务标识相关联,则呈现服务器向第 一用户提供所述 业务标识对应的呈现信息时进行隐身变换处理,向第一用户客户端发送指示第 二用户该业务标识对应业务为离线状态的呈现信息。第二用户客户端向第 一用户客户端发送消息进行通信后,第二用户客户端
自动取消对第一用户的隐身设置,呈现服务器向第一用户客户端发送指示第二 用户为在线状态的呈现信息。所述当第二用户客户端设置为隐身的步骤具体包括当第二用户以隐身方 式登录时,第二用户客户端不向呈现服务器发布呈现信息。本发明还提供了一种呈现服务器,用于接收、存储和分发呈现信息,所述 的呈现服务器还用于接收观察者信息的订阅请求,并对所述观察者信息的订阅 请求施加预设的过滤条件,将所述观察者信息进行过滤后再发送出去。在呈现服务器中预设的过滤条件包括内容条件和触发条件信息;所述的内 容条件信息用于呈现服务器据此将所述观察者信息为挂起和/或等待状态的信 息包含在通知消息中发送出去;所述的触发条件用于呈现服务器据此在检测到 所述观察者信息中有订阅状态变为挂起或等待状态时,发送相应的通知消息。在呈现服务器中呈现体的授权配置中包括用户与类标识的关联关系,呈现 信息中包括离线状态与类标识的关联关系;所述的两个关联关系信息用于呈现 服务器据此向与离线状态相关联的用户客户端发送指示该呈现体为离线状态 的呈现信息。在呈现服务器中呈现体的授权配置中包括与用户关联的隐身变换信息,所 述的隐身变换信息用于呈现服务器据此向相关联用户提供的呈现信息进行隐 身变换处理,使呈现服务器向相关联的用户客户端发送指示该呈现体为离线状 态的呈现信息。其中所述的用户可以是表示任意用户的标识如Ony-identity/、 设为该值时表示对所有人隐身;也可以是某个或某些用户的身份标识,还可以 是群组标识等。在呈现服务器中呈现体的授权配置中包括与业务标识关联的隐身变换信 息,所述的隐身变换信息用于呈现服务器据此提供所述业务标识对应的呈现信 息时进行隐身变换处理,使呈现服务器发送指示该呈现体在所述业务标识对应 业务中为离线状态的呈现信息。所述的呈现服务器包括订阅处理单元、发布处理单元、通知处理单元、存 々者单元、"i丁阅状态才几单元,还包4舌观察者信息过滤单元,用于对所述观察者信息施加预设的过滤条件进行过 滤后才通过通知处理单元发送只包含桂起和/或等待状态内容的观察者信息;触发条件检测单元,用于检测观察者信息中是否有订阅状态变为挂起或等 待状态。进一步,还包括隐身变换单元,用于在由订阅处理单元从存储单元获拟目 应呈现信息后,通知处理单元发送呈现信息出去之前,根据授权配置对相应的 呈现信息施加隐身变换处理,将相应的呈现信息中的状态变换为指示离线状态 的值。本发明还提供了一种实现隐身的方法,包括步骤第二用户客户端设置隐身,并向呈现服务器订阅了第一用户的呈现信息;呈现服务器向第 一用户客户端发送指示第二用户为离线状态的呈现信息, 并且不向第 一用户客户端发送包含第二用户订阅状态的观察者信息。进一步,第一用户客户端订阅了自己的观察者信息,所述不向第一用户客 户端发送包含第二用户订阅状态的观察者信息的步骤具体为呈现服务器根据 预设的过滤条件将所述观察者信息进行过滤后再发送给第一用户客户端。所述过滤条件包括内容条件,所述呈现服务器根据预设的过滤条件将所述 观察者信息进行过滤后再发送给第 一用户客户端的步骤具体为呈现服务器根 据过滤条件中的内容条件将所述观察者信息为挂起和/或等待状态的信息包含 在通知消息中发送给第 一用户客户端。所述过滤条件还包括触发条件,该方法还包括步骤根据过滤条件中的触 发条件呈现服务器在检测到所述观察者信息中有订阅状态变为挂起或等待状 态时,才向第一用户客户端发送相应的通知消息。所述第二用户客户端设置隐身的步骤具体包括在第二用户的授权配置文档中将第一用户的身份标识或第一用户所在的 群组标识与类标识相关联;
第二用户客户端将呈现信息中的离线状态与类标识相关联,并发布到呈现服务器;所述呈现服务器向笫一用户客户端发送指示第二用户为离线状态的呈现 信息的步骤具体为呈现服务器根据所述的关联向第一用户客户端发送指示第 二用户为离线状态的呈现信息。所述第二用户客户端设置隐身的步骤具体为在第二用户的授权配置文档 中将第一用户的身份标识或第一用户所在的群组标识与隐身变换相关联;所述呈现服务器向第一用户客户端发送指示第二用户为离线状态的呈现 信息的步骤具体为呈现服务器向第一用户提供的呈现信息时进行隐身变换处 理,向第一用户客户端发送指示第二用户为离线状态的呈现信息。所述第二用户客户端设置为隐身的步骤具体为当第二用户以隐身方式登 录时,第二用户客户端不向呈现服务器发布呈现信息。所述第二用户客户端设置为隐身的步骤具体为第二用户客户端向呈现服务器发布包含一个指示全局离线状态的呈现信息;所述呈现服务器向第一用户客户端发送指示第二用户为离线状态的呈现 信息的步骤具体为呈现服务器向第一用户客户端发送指示第二用户所有业务 为离线状态的呈现信息。第二用户客户端向第一用户客户端发送消息进行通信后,第二用户客户端自动取消对第一用户的隐身设置,呈现服务器向第一用户客户端发送指示第二 用户为在线状态的呈现信息。本发明还提供了一种将用户显示为离线的方法,包括步骤 在第二用户的授权配置文档中进行隐身设置;呈现服务器根据所述的隐身设置向第一用户客户端发送指示第二用户为 离线状态的呈现信息。将用户显示为离线(Appear Offline)的方法和上述的提供观察者信息的方 法在实现隐身时是相辅相成的。通常第二用户客户端可以通过XCAP (XML
Configuration Access Protocol)协议》务改第二用户的授4又配置文档,或者也可以 通过互联网在网页上直接修改。用户显示为离线是指该用户的观察者的客户端 上显示该用户的呈现信息为离线状态或不可用状态,而该用户实际是在线的。进一步,所述在第二用户的授权配置文档中进行隐身设置的步骤具体为 在第二用户的授权配置文档中将第一用户的身份标识或第 一用户所在的群组 标识与隐身类标识相关联;所述在第二用户的授权配置文档中进行隐身设置的步骤之后还包括步骤 第二用户客户端将呈现信息中的离线状态与隐身类标识相关联,并发布到呈现 服务器;所述呈现服务器根据所述的隐身设置向第一用户客户端发送指示第二用 户为离线状态的呈现信息的步骤具体为呈现服务器根据所述的关联向第一用 户客户端发送指示第二用户为离线状态的呈现信息。或者,所述在第二用户的授权配置文档中进行隐身设置的步骤具体为在 第二用户的授权配置文档中将第 一用户的身份标识或第一用户所在的群组标 识与隐身变换相关联;所述呈现服务器根据所述的隐身设置向第一用户客户端发送指示第二用 户为离线状态的呈现信息的步骤具体为呈现服务器向第一用户提供的呈现信 息时进行隐身变换处理,向第一用户客户端发送指示第二用户为离线状态的呈 现信息。本发明的有益效果如下本发明通过利用呈现^Il务器对所述M^察者信息的订阅请求施加过滤条件, 呈现服务器据此只将观察者信息为挂起或等待状态的信息包含在通知消息中 发送给用户客户端;并且只在检测到所述观察者信息中有订阅状态变为挂起或 等待状态时,才向用户客户端发送相应的通知消息。通过本发明可以实现真正 的隐身,而同时又可满足对非预授权用户进行鉴权确认的需要。同时因为不再
传送含激活状态等的观察者信息,大大减少了由于观察者信息变化而产生的通信流量;而且对于用户来说哪些人订阅自己的呈现信息也是一种隐私数据,在 网络中传输存在安全隐患,本发明也增强了系统的安全性。


图1为现有技术中观察者信息的订阅状态机的状态迁移图; 图2为本发明提供观察者信息的方法基本流程图; 图3为本发明呈现服务器的内部结构图。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明 的实施例。本发明公开了 一种提供观察者信息的方法,基本流程如图2所示 步骤201、用户客户端向呈现服务器订阅自己的观察者信息; 步骤202、呈现服务器对所述观察者信息的订阅请求施加过滤条件; 步骤203、呈现服务器将所述观察者信息进行过滤后再发送给用户客户端。本发明中所说的订阅SUBSCRIBE可以是一个新的初始订阅,也可以是维 持已有订阅的刷新订阅。呈现服务器对所述观察者信息的订阅请求施加的过滤 条件举例如下<filter-set〉<filter id="001" uri="sip:userl@example.com"〉<what><include>/watcherinfo/watcher-list/watcher[@status="pending" or @status="waiting"] </include〉</what〉 <triggerxchanged to="pending">/watcherinfo/watcher-list/watcher/@status </changed></trigger><trigger><changed to="waiting">/watcherinfo/watcher-list/watcher/@status </changed〉</trigger> </filter〉</filter-set〉在一个过滤条件〈filter〉中,〈what〉元素中为内容条件,〈triggei〉元素中为 触发条件,呈现服务器根据以上的过滤条件,将用户的观察者信息中为挂起 "pending"或等待"waiting"状态的信息包含在通知消息中发送给订阅观察者信 息的用户客户端,如果两种状态都有则可以都发送。并且呈现服务器在检测到 用户的观察者信息中有订阅状态变为挂起或等待状态时,向订阅观察者信息的 用户客户端发送相应的通知消息,而变为其他状态时不发订阅状态变化的通知 消息,其中向用户客户端发送的订阅状态变化通知消息也只包含挂起或等待状 态的信息,即也应用了上述内容条件进行过滤。如果用户客户端发送的观察者信息订阅请求中已经包含有用户设置的过滤条件,则呈现服务器先合并呈现服务器施加的过滤条件和用户设置的过滤条 件,然后再根据合并后的过滤条件进行过滤。合并后的过滤条件是进行交集运 算处理的结果,如用户设置的包含了除挂起和等待之外的其他订阅状态信息如 激活状态,则与服务器设置的上述过滤条件合并后就不会包含激活状态。如呈 现服务器可以在实施呈现服务器设置的上述过滤条件后的观察者信息中再实 施用户设置的过滤条件。这样呈现服务器不会向用户通知除挂起和等待之外的 其他订阅状态信息如激活状态,激活状态即表示当前正在订阅呈现信息,如果 一个用户正在订阅另 一用户的呈现信息,显然可知该用户是在线的。本实施例中第一用户和第二用户互为联系人,即在两者的授权配置文档中 都有授权对方的获取自己全部或部分呈现信息的策略配置数据。授权配置文档 通常可以XML (Extensible Markup Language)格式存储在呈现XML文档管理 服务器(Presence XDMS )中。如下例子在第一用户的授权策略中指示第二用 户已经被预授权获取呈现信息<ruleset><rule id=" 1 "〉<conditions〉<identity〉<id entity="user2@example.com7> </identity></conditions><actions><sub-handling>allow</sub-handling></actions〉 <transformations/〉 </rule></ruleset>其中在<conditions>元素中指定预授权的用户身份标识如 "user2@example.com",也可以指定用户所在的群组标识或域标识。第二用户客户端设置自己为隐身时,如直接设置自己的呈现信息状态为离线或不可用(Not Available),离线或不可用对应的呈现信息值可以用close表 示,当然第二用户实际上是在线的,在线对应的呈现信息值可以用open表示, 并订阅第一用户的呈现信息;这样第一用户的观察者信息中第二用户的订阅状 态根据前述的订阅状态机变为激活状态,根据上述过滤条件的处理,则呈现服 务器不会产生订阅状态变化通知消息给第 一用户客户端,即第 一用户不会知道 第二用户正在订阅自己的呈现信息,而同时第一用户客户端获取到第二用户的 呈现信息为离线或不可用状态(close),这样就实现了第二用户的隐身。如果第 一用户的4更^5l策略中没有第二用户所对应的策略配置,即第二用户 没有被预授权,则呈现服务器在接收到第二用户客户端订阅第 一用户呈现信息 的请求时,根据前述的订阅状态机将第二用户的订阅状态变为pending挂起状 态,并根据上述过滤条件的处理,将该订阅状态变化通知给第一用户客户端。 发送的通知消息内容举例如下<watcherinfo〉<watcher-list resource="sip:userl@example.com" package="presence"> <watcherid="123" event="subscribe" status="pending">sip:user2@example.com </watcher></watcher-list〉 </watcherinfo>然后第一用户客户端可以才艮据此通知批准或拒绝该订阅请求,如通过 XCAP协议,修改呈现XML文档管理服务器XDMS上第一用户的授权策略文 档。然后由于呈现服务器也订阅了用户授权配置文档的变化事件,则呈现服务 器可以获得最新修改的授权策略配置,并据此修改订阅状态机中的订阅状态, 如果批准则呈现服务器将订阅状态变为激活(active),如果拒绝则订阅状态变 为终止(terminated),如果在一定时间内用户没有修改相应的授权策略配置, 则超时变为等待状态。在订阅状态变为等待后,如果用户修改了授权策略文档, 则无论批准还是拒绝订阅状态都变为终止。当然在下一轮的订阅时,由于用户 已经修改了授权策略文档指示接受或拒绝第二用户的订阅,订阅状态可相应的 变为激活或终止。由此可见通过实施本发明能规避隐身实现的漏洞,而同时又可满足用户对 呈现信息的订阅进行非预授权用户鉴权确认的需要。本实施例中当第二用户客户端设置隐身时,呈现服务器向第一用户客户端 发送的呈现信息指示第二用户为离线状态。具体可以通过以下方法实现将第一用户的身份标识或所在群组标识与类标识关联,并设置在授权配置 文档中;第二用户客户端设置隐身时,将离线状态与类标识相关联;呈现服务 器向第 一用户客户端发送指示第二用户为离线状态的呈现信息。由第二用户客户端设置的授权配置文档举例如下〈ruleset entity="user2@example.com"〉<rule id="l"〉 <conditions><identity〉<id entity="userl@example.com7> </identity></conditions〉<actions><sub-handling>allow</sub-handling></actions> <transformations><provide-services><class>hidden</class></provide-services> </transformations〉 </rule></ruleset〉第二用户客户端先呈现服务器发布的包含指示离线状态的呈现信息文档 举例如下<tuple id="00r><status><basic>close</basic></status><contact>sip:user2@example.com</contact><class>hidden</class〉 </tuple〉<tuple id="002"><status〉<basic>open</basic〉</status> </tuple〉此处用基本状态元素值设为close即可,呈现信息中并没有一个新增的表 示"隐身"的元素或值。从例子中可见为隐身hidden的类标识〈class〉对应了呈 现信息中的离线状态的〈tuple〉元素,同时在授权配置中用户身份标识为 "userl⑨example.com"对应的变换〈transformation^中提供的业务即〈tuple〉的类 标识为hidden,根据这些关联,呈现服务器向"userl⑨example.com"提供的第二 用户的呈现信息指示了其为离线状态。而对于类标识〈class〉不为hidden的对应 用户或没有对应类标识的用户,呈现服务器可以向其提供指示第二用户为在线 open的呈现信息,如上述例子中标识id为"002"的业务tuple元素中的呈现信息。 可见通过上述方法,还实现了部分隐身,即可对某些联系人显示在线,而同时 对另一些联系人显示离线。如果第二用户一直处于离线状态,当以隐身方式登录时,即在登录时设置自己为隐身,这时候一般是对所有人都隐身,则第二用户客户端不向呈现服务 器发布呈现信息即可,这样呈现服务器中的呈现信息还保持原来指示第二用户 离线的值。当第一用户等其他用户订阅第二用户的呈现信息时,呈现服务器发
送指示第二用户为离线状态的呈现信息。呈现信息的订阅SUBSCRIBE可以是 第一次初始订阅,也可以是刷新订阅(Refreshing of Subscriptions ),即维持已 有的订阅,避免订阅过期,关于SIP SUBSCRIBE订阅可以参见RFC3856、 RFC3265等规范。在登录之后,当第二用户取消隐身时,第二用户客户端重新 向呈现服务器发布呈现信息即可。如果只是对部分用户如某个用户或者某个群 组中的用户取消隐身,则可以应用类似以上的通过类标识进行关联的方法,只 不过此处用非隐身的类标识进行关联用户身份和呈现信息,先通过XCAP协议 修改授权配置文档,使非隐身的类标识与取消隐身的用户或群组关联,再将指 示第二用户在线的呈现信息tuple元素与非隐身的类标识关联,第二用户客户 端向呈现服务器发布呈现信息,这样上述的部分用户将获取到指示第二用户在 线的呈现信息。第二用户客户端可以向呈现服务器发布包含一个指示全局离线状态的呈 现信息,呈现服务器向第一用户客户端发送指示第二用户所有业务为离线状态 的呈现信息。这样就不用对呈现信息中包含的每个业务分别进行隐身设置了 , 一个用户的呈现信息中可以同时包含多个业务如PoC、 IM的状态信息。另外当第二用户客户端向第 一用户客户端发送消息进行通信后,第二用户 客户端可以自动取消对第 一用户的隐身设置,呈现服务器向第 一用户客户端发 送指示第二用户为在线状态的呈现信息。因为已经通信后就没有再隐身的必 要,而且如果一直隐身则当第二用户真正离线时,第一用户也无法知道。可以使用在授权配置中的设置变换〈transformations〉来实现,具体方法为第 二用户客户端设置隐身时,在授权配置中设置应用隐身变换hidden;呈现服务 器才艮据所设置的隐身变换将第二用户呈现信息中的状态变为离线dose再发送 给观察者如第 一用户。当然隐身变换也可以对应用户的身份标识或群组标识, 即可以只对部分用户提供的呈现信息进行隐身变换处理。包含隐身变换 〈hidden^的授权配置文档举例如下<ruleset entity^"user2②example.com"xrule id="l"> <conditions><identity〉<id entity="userl@example.com"/> </identity></conditions〉<actions〉<sub-handling〉allow</sub-handling〉</actions〉 <transformations〉<provide-services><hidden/〉</provide-services〉 </transformations> </rule></ruleset〉如果要对所有人都设置为隐身,则在条件元素〈conditions〉中指定为任意身 份标识〈any-identity々对应隐身变换即可。还可以只对指定的业务如一键通PoC 或即时消息IM进行隐身设置,在变换〈transformations〉元素中关联业务标识 <service-id>即可,^t口下面的例子〈ruleset entity="user2@example.com"><rule id=" 1 "〉<actions〉<sub-handling〉allow</sub-handling〉</actions> <transformations〉<provide-services〉 <hidden/〉<service-id〉PoC</service-id> </provide-services></transformations> </rule></ruleset〉呈现服务器4艮据上述变换,将呈现信息中与该业务标识相对应的状态转换 为离线状态再发送出去。可见通过以上的隐身变换,即使用户的呈现信息是指 示在线的,在经过隐身变换处理之后,最终向观察者提供的呈现信息变成了指 示其离线的了。这种方法的一个好处是设置隐身的用户的呈现信息可以是真实 的即是在线的,如果一个在线用户在IM客户端或PoC客户端设置自己相应的 业务tuple的状态status为离线close,这样虽然也可隐身,但可能会导致其他 用户无法与他进行通信,或不想要的后果,如用户状态为离线close时,PoC 语音消息可能会被转发到PoC BOX中,用户无法直接听到了 ,而实际上用户 可能希望还能听到,只是不想让其他人知道自己在线。通过隐身变换的方法即 可避免以上问题,用户在设置隐身时,实际上修改的是授权配置文档,而不是 呈现信息。另外也可以对变换〈transformations〉做更通用的扩展,如对一个元素和属 性可以施加一个函数变换。用XML描述的表达式举例如下<transformations〉<provide-status><fUnction para="open, close"〉instead</fimction> </provide-statusX/transformations>以上transformations元素表示呈现服务器在提供状态信息时,要进行名称 为替换instead的变换处理,变换的参数para包含两个为"open, close",即将open 的状态值变为close的状态值。这样虽然很灵活,但不好定义函数参数的约束 限制(Restriction),以进行参数的合法性检查。可以采用以下方式表达<transformations><provide-status〉<instead-fimction paral="open", para2="close"/〉</provide-status〉</transformations〉这样可以在XML schema中对每个函数如替换函数instead-ftmction定义参 数属性如paral的约束限制。如图3所示,在呈现服务器中,呈现信息可以放在存储单元中,对SIP订 阅、发布和通知消息的处理可以分别通过订阅处理单元、发布处理单元和通知 处理单元进行,观察者信息由订阅状态机单元维护。当订阅处理单元接收到呈 现信息的订阅请求时,订阅状态机单元会相应修改观察者信息中的订阅状态。 还可以设置一个观察者信息过滤单元,用于对用户的观察者信息施加预设的过 滤条件进行过滤后才发送,只发送包含挂起或等待状态内容的观察者信息。另 外还可以包括一个触发条件检测单元,用于检测观察者信息中是否有订阅状态 变为挂起或等待状态,如果有,呈现服务器才发送订阅状态变化通知消息,否 则不发送,当然发送的通知消息也只包含挂起或等待状态的观察者信息内容。
进一步还可以包4舌一个隐身变换单元,在由订阅处理单元/人存〗渚单元获糾目应 呈现信息后,通知处理单元发送呈现信息出去之前,根据授权配置对相应的呈 现信息施加隐身变换处理,即将呈现信息中的状态变换为指示离线状态的值。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种提供观察者信息的方法,其特征在于,该方法包括步骤第一用户客户端向呈现服务器订阅自己的观察者信息;呈现服务器对所述观察者信息的订阅请求施加过滤条件;呈现服务器将所述观察者信息进行过滤后再发送给第一用户客户端。
2、 根据权利要求1所述的方法,其特征在于,所述过滤条件包括内容条 件,呈现服务器将所述观察者信息进行过滤后再发送给第 一用户客户端的步骤 具体为呈现服务器根据过滤条件中的内容条件将所述观察者信息为挂起和/ 或等待状态的信息包含在通知消息中发送给第 一用户客户端。
3、 根据权利要求2所述的方法,其特征在于,所述过滤条件还包括触发 条件,该方法还包括步骤根据过滤条件中的触发条件呈现服务器在检测到所 述观察者信息中有订阅状态变为挂起或等待状态时,向第 一用户客户端发送相 应的通知消息。
4、 根据权利要求1所述的方法,其特征在于,如果第一用户客户端发送 的观察者信息订阅请求中已经包含有用户设置的过滤条件,则呈现服务器先对 呈现服务器施加的过滤条件和用户设置的过滤条件进行合并处理,然后再根据 合并后的过滤条件对所述观察者信息进行过滤。
5、 根据权利要求1至4任一项所述的方法,其特征在于,该方法还包括 步骤第一用户客户端和第二用户客户端互相订阅对方的呈现信息;当第二用户客户端设置为隐身时,呈现服务器向第一用户客户端发送的呈 现信息指示第二用户为离线状态。
6、 根据权利要求5所述的方法,其特征在于,所述当第二用户客户端设 置为隐身时,呈现服务器向第一用户客户端发送的呈现信息指示第二用户为离 线状态的步骤具体包括在第二用户的授权配置文档中将第一用户的身份标识或第一用户所在的 群组标识与类标识相关联; 第二用户客户端将呈i见信息中的离线状态与类标识相关联,并发布到呈现服务器;呈现服务器根据所述的关联向第一用户客户端发送指示第二用户为离线 状态的呈现信息。
7、 根据权利要求5所述的方法,其特征在于,所述当第二用户客户端设 置为隐身时,呈现服务器向第一用户客户端发送的呈现信息指示第二用户为离线状态的步骤具体包括在第二用户的授权配置文档中将第一用户的身份标识或第一用户所在的群组标识与隐身变换相关联;呈现服务器向第一用户提供的呈现信息时进行隐身变换处理,向第一用户客户端发送指示第二用户为离线状态的呈现信息。
8、 根据权利要求7所述的方法,其特征在于,将所述隐身变换还与业务 标识相关联,则呈现服务器向第 一用户提供所述业务标识对应的呈现信息时进 行隐身变换处理,向第一用户客户端发送指示第二用户该业务标识对应业务为 离线状态的呈现信息。
9、 根据权利要求5所述的方法,其特征在于,第二用户客户端向第一用 户客户端发送消息进行通信后,第二用户客户端自动取消对第一用户的隐身设 置,呈现服务器向第一用户客户端发送指示第二用户为在线状态的呈现信息。
10、 根据权利要求5所述的方法,其特征在于,所述当第二用户客户端设 置为隐身的步骤具体包括当第二用户以隐身方式登录时,第二用户客户端不 向呈现服务器发布呈现信息。
11、 一种呈现服务器,用于接收、存储和分发呈现信息,其特征在于,所 述的呈现服务器还用于接收观察者信息的订阅请求,并对所述观察者信息的订 阅请求施加预设的过滤条件,将所述观察者信息进行过滤后再发送出去。
12、 根据权利要求11所述的呈现服务器,其特征在于,在呈现服务器中 预设的过滤条件包括内容条件和触发条件信息;所述的内容条件信息用于呈现 服务器据此将所述观察者信息为挂起和/或等待状态的信息包含在通知消息中发送出去;所述的触发条件用于呈现服务器据此在检测到所述观察者信息中有 订阅状态变为桂起或等待状态时,发送相应的通知消息。
13、 根据权利要求11或12所述的呈现服务器,其特征在于,在呈现服务 器中呈现体的授权配置中包括用户与类标识的关联关系,呈现信息中包括离线 状态与类标识的关联关系;所述的两个关联关系信息用于呈现服务器据此向与 离线状态相关联的用户客户端发送指示该呈现体为离线状态的呈现信息。
14、 根据权利要求11或12所述的呈现服务器,其特征在于,在呈现服务 器中呈现体的授权配置中包括与用户关联的隐身变换信息,所述的隐身变换信 息用于呈现服务器据此向相关联用户提供的呈现信息进行隐身变换处理,使呈 现服务器向相关联的用户客户端发送指示该呈现体为离线状态的呈现信息。
15、 根据权利要求11或12所述的呈现服务器,其特征在于,在呈现服务 器中呈现体的授权配置中包括与业务标识关联的隐身变换信息,所述的隐身变 换信息用于呈现服务器据此提供所述业务标识对应的呈现信息时进行隐身变 换处理,使呈现服务器发送指示该呈现体在所述业务标识对应业务中为离线状 态的呈现信息。
16、 根据权利要求11所述的呈现服务器,包括订阅处理单元、发布处理 单元、通知处理单元、存储单元、订阅状态机单元,其特征在于,还包括观察者信息过滤单元,用于对所述观察者信息施加预设的过滤条件进行过 滤后才通过通知处理单元发送只包含挂起和/或等待状态内容的观察者信息;触发条件检测单元,用于检测观察者信息中是否有订阅状态变为挂起或等 待状态。
17、 根据权利要求16所述的呈现服务器,其特征在于,还包括隐身变换 单元,用于在由订阅处理单元从存储单元获M目应呈现信息后,通知处理单元 发送呈现信息出去之前,根据授权配置对相应的呈现信息施加隐身变换处理, 将相应的呈现信息中的状态变换为指示离线状态的值。
18、 一种实J见隐身的方法,其特征在于,包4舌步-骤第二用户客户端设置隐身,并向呈现服务器订阅了第 一用户的呈现信息; 呈现服务器向第一用户客户端发送指示第二用户为离线状态的呈现信息, 并且不向第一用户客户端发送包含第二用户订阅状态的观察者信息。
19、 根据权利要求18所述的方法,第一用户客户端订阅了自己的观察者 信息,其特征在于,所述不向第一用户客户端发送包含第二用户订阅状态的观 察者信息的步骤具体为呈现服务器根据预设的过滤条件将所述观察者信息进 行过滤后再发送给第 一用户客户端。
20、 根据权利要求19所述的方法,其特征在于,所述过滤条件包括内容 条件,呈现服务器根据预设的过滤条件将所述观察者信息进行过滤后再发送给 第 一用户客户端的步骤具体为呈现服务器根据过滤条件中的内容条件将所述 观察者信息为挂起和/或等待状态的信息包含在通知消息中发送给第 一用户客 户端。
21、 根据权利要求20所述的方法,其特征在于,所述过滤条件还包括触 发条件,该方法还包括步骤根据过滤条件中的触发条件呈现服务器在检测到 所述观察者信息中有订阅状态变为挂起或等待状态时,才向第一用户客户端发 送相应的通知消息。
22、 根据权利要求18至21任一项所述的方法,其特征在于,所述第二用 户客户端设置隐身的步骤具体包括在第二用户的授权配置文档中将第 一用户的身份标识或第一用户所在的 群组标识与类标识相关联;第二用户客户端将呈现信息中的离线状态与类标识相关联,并发布到呈现 服务器;所述呈现服务器向第一用户客户端发送指示第二用户为离线状态的呈现 信息的步骤具体为呈现服务器根据所述的关联向第一用户客户端发送指示第 二用户为离线状态的呈现信息。
23、 根据权利要求18至21任一项所述的方法,其特征在于,所述第二用 户客户端设置隐身的步骤具体为在第二用户的授权配置文档中将第 一用户的 身份标识或第一用户所在的群组标识与隐身变换相关联;所述呈现服务器向第 一用户客户端发送指示第二用户为离线状态的呈现 信息的步骤具体为呈现服务器向第一用户提供的呈现信息时进行隐身变换处 理,向第一用户客户端发送指示第二用户为离线状态的呈现信息。
24、 根据权利要求18至21任一项所述的方法,其特征在于,所述第二用 户客户端设置隐身的步骤具体为当第二用户以隐身方式登录时,第二用户客 户端不向呈现服务器发布呈现信息。
25、 根据权利要求18至21任一项所述的方法,其特征在于,所述第二用 户客户端设置隐身的步骤具体为第二用户客户端向呈现服务器发布包含一个 指示全局离线状态的呈现信息;所述呈现服务器向第一用户客户端发送指示第二用户为离线状态的呈现 信息的步骤具体为呈现服务器向第一用户客户端发送指示第二用户所有业务 为离线状态的呈现信息。
26、 根据权利要求18至21任一项所述的方法,其特征在于,第二用户客 户端向第一用户客户端发送消息进行通信后,第二用户客户端自动取消对第一 用户的隐身设置,呈现服务器向第一用户客户端发送指示第二用户为在线状态 的呈现信息。
27、 一种将用户显示为离线的方法,其特征在于,包括步骤 在第二用户的授权配置文档中进行隐身设置;呈现服务器根据所述的隐身设置向第一用户客户端发送指示第二用户为 离线状态的呈现信息。
28、 根据权利要求27所述的方法,其特征在于,所述在第二用户的授权 配置文档中进行隐身设置的步骤具体为在第二用户的授权配置文档中将第一 用户的身份标识或第一用户所在的群组标识与隐身类标识相关联;所述在第二用户的授权配置文档中进行隐身设置的步骤之后还包括步骤 第二用户客户端将呈现信息中的离线状态与隐身类标识相关联,并发布到呈现服务器;所述呈现服务器根据所述的隐身设置向第一用户客户端发送指示第二用户为离线状态的呈现信息的步骤具体为呈现服务器根据所述的关联向第 一用 户客户端发送指示第二用户为离线状态的呈现信息。
29、根据权利要求27所述的方法,其特征在于,所述在第二用户的授权 配置文档中进行隐身设置的步骤具体为在第二用户的授权配置文档中将第一 用户的身份标识或第一用户所在的群组标识与隐身变换相关联;所述呈现服务器根据所述的隐身设置向第一用户客户端发送指示第二用 户为离线状态的呈现信息的步骤具体为呈现服务器向第一用户提供的呈现信 息时进行隐身变换处理,向第一用户客户端发送指示第二用户为离线状态的呈
全文摘要
本发明公开了一种提供观察者信息的方法,步骤包括用户客户端向呈现服务器订阅自己的观察者信息;呈现服务器对所述观察者信息的订阅请求施加过滤条件;呈现服务器将所述观察者信息进行过滤后再发送给用户客户端。呈现服务器向用户客户端只提供为挂起或等待状态的观察者信息,以及只在观察者信息中有状态变为挂起或等待时才发送观察者信息变化通知。通过本发明可以实现真正的隐身,而同时又可满足对非预授权用户进行鉴权确认的需要。
文档编号H04L29/06GK101119325SQ20061006201
公开日2008年2月6日 申请日期2006年8月4日 优先权日2006年8月4日
发明者谦 孙, 宋雪飞, 彭程晖, 扬 招, 田林一, 鲍洪庆 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1