一种地址簿的处理方法和系统的制作方法

文档序号:7663471阅读:154来源:国知局
专利名称:一种地址簿的处理方法和系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种地址簿的处理方法和系统。
背景技术
地址簿是记录联系人联系方式的列表。在通信技术和计算机技术尚不发 达时,人们只能通过手写的方式将联系人的联系方式记录在笔记本上,不仅 信息量有限,而且信息更新方式繁瑣。随着移动通信技术和计算机技术的发 展,人们可以通过移动通信终端或计算机将联系人的联系方式记录在移动通 信终端上或计算机的存储介质上,大大方便了人与人之间的通信与沟通,地 址簿的功能和容量也随着移动通信业务的丰富而不断强大,例如提供联系人 呈现信息、联系人的群组和分类等功能。但是当用户有多个终端设备时,需 要对每一个设备分别录入联系人信息,不仅给用户带来了极大的不便,而且
数据更新时很难保证所有设备上联系人信息的一致性,如何为用户的多个设 备提供一致的地址簿,为用户提供更好的用户体验成为亟待解决的问题。
目前很多数据业务都需要地址簿的支持,例如IM (Instant Message , 即时消息)、PoC (Push to talk over Cellar,无线一键通)等,用户在发送IM 消息或发起PoC呼叫请求时都需要根据地址簿中联系人的用户标识发起相应 的请求。现有技术中IM、 PoC业务地址簿是通过网络侧的Shared List XDMS(共 享列表XML文档管理服务器)实现的,对于使用IM和PoC服务的用户来说, 用户需要在终端上安装相应的XDMS( XML Document Management Server , XML文档管理服务器)客户端才能够访问和编辑自己的地址簿,现有技术地 址簿的实现架构如图l所示。
其中XDM Client (XML文档管理用户端)用于访问和编辑Shared List XDMS上提供的联系人列表;Aggregation Proxy (聚合代理)对用户的访问和 编辑请求进行鉴权并路由请求到Share List XDMS上;Shared List XDMS用于存储并管理用户的联系人列表。当用户访问或编辑自己的联系人列表时,可
以使用XDM Client通过XCAP ( XML Configuration Access Protocol, XML配置 访问协议)协议的相关方法发起访问请求,请求通过Aggregation Proxy进行鉴 权后转发给SharedListXDMS, Shared List XDMS完成用户的服务请求,并将 最终的执行结果返回给用户的XDM Client。
此外具有相似地址簿功能的现有技术还有呈现信息使能地址簿。呈现信 息使能地址簿是一个在终端上可以方便的显示呈现体呈现信息的联系人列 表。用户可以使用客户终端通过SIP (Session Initiation Protocol,会话初始化 协议)的SUBSCRIBE (订阅)方法向呈现信息服务器发起订阅呈现体呈现信 息的订阅请求,当订阅请求被授权通过后,呈现信息服务器会将呈现体的呈 现信息变化通知通过SIP协议的NOTIFY (通知)方法发送给用户终端,用户 终端接收到呈现信息的变化通知后,呈现信息会被显示在用户的呈现信息使 能地址簿上。
现有技术中无论是Shared List XDMS上的联系人列表还是呈现信息使能 地址簿,在功能上都比较单一且与业务强相关,不能作为独立的功能为用户 提供服务,当用户需要支持上述的多种功能时必须在终端上安装各种业务客 户端。此外,当用户有多个终端设备时,上述现有技术也无法保证多个设备 上联系人信息的一致性,尤其是联系人呈现信息,联系人呈现信息变化的通 知只能发送给有订阅关系的用户终端,而没有订阅关系的用户终端无法接收 到联系人呈现信息变化的通知。

发明内容
本发明实施例要解决的技术问题是提供一种地址簿的处理方法和系统, 以解决目前现有的地址簿功能单一且与业务强相关,不能作为独立功能为用 户提供服务,且无法保证用户的多个设备上地址簿信息一致的问题。
为达到上述目的,本发明实施例提供一种地址簿的处理方法,包括以下 步骤
网络地址簿解析用户地址簿,根据所述用户地址簿上的设置生成相应的获取请求;
所述网络地址簿根据所述获取请求获取需要更新的联系人信息,更新所
述用户地址簿;
所述网络地址簿将所述用户地址簿的更新信息同步或发送给用户设备。
本发明实施例还提供一种地址簿的处理系统,包括 用户终端,用于对网络地址簿进行访问和管理;
网络地址簿,用于保存和管理用户的地址簿、获取并合并需要更新的联 系人信息;
业务引擎服务器,用于向所述网络地址簿提供联系人的相关信息。 与现有技术相比,本发明的实施例具有以下优点
通过使用本发明实施例提供的方法,在网络侧提供一种网络地址簿,可 以根据用户的设置获取丰富的联系人信息,解决了目前现有的地址簿功能单 一,且与业务强相关不能作为独立功能为用户提供服务的缺点,且可以同步 更新用户的的多个设备上的地址簿信息,当用户的其中一个设备发起更新的 地址簿的信息时,其他用户的设备上地址簿也随之更新,保证了用户的多个 设备上地址簿信息一致。


图1是现有技术中地址簿的实现架构;
图2是本发明实施例一的一种地址簿的处理方法的流程图3是本发明实施例二的一种地址簿的处理方法的流程图4是本发明实施例二中地址簿的基本结构示意图5是本发明实施例三的一种地址簿的处理方法流程图6是本发明实施例四的一种地址簿的处理方法流程图7是本发明实施例五的一种地址簿的处理方法流程图8是本发明实施例六的一种地址簿的处理系统图9是本发明实施例七的一种地址簿的处理设备图IO是本发明实施例八的另一地址簿的处理设备图。
具体实施例方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。
本发明的实施例一中, 一种地址簿的处理方法如图2所示,具体步骤如下 步骤S201、网络地址簿解析用户地址簿,根据用户地址簿的设置生成相 应的获取请求。
具体的,网络地址簿解析用户地址簿之前还包括网络地址簿接收用户 地址簿并保存;当网络地址簿接收到用户地址簿更新请求时,获取保存的用 户地址簿并进行解析;或网络地址簿解析接收到的用户地址簿。
步骤S202、网络地址簿根据获取请求获取需要更新的联系人信息,更新 用户地址簿。
步骤S203、网络地址簿将用户地址簿的更新信息向用户设备同步或发送。 步骤S204、网络地址簿解析用户设备的信息文件,根据用户设备的信息 文件向用户的其他设备同步或发送用户地址簿的更新信息。
本发明的实施例二中, 一种地址簿的处理方法如图3所示,具体步骤如下 步骤S301 、网络地址簿接收到用户通过NAB Client( Network Address Book Client,网络地址簿客户端)编辑的地址簿并保存。
具体的,所迷地址簿是一个联系人的列表,包含一个或多个联系人信息、 用户的群组信息以及用户的设备信息等。联系人信息还包括联系人的基本信 息和设置信息,其中,联系人的基本信息包括联系人的联系方式、出生日期、 名字、联系地址、性别和爱好等信息;设置信息包括在用户地址簿上是否需 要联系人的呈现信息或位置信息的相关设置以及是否包含对联系人其他信息 的引用。用户的群组信息包括是否引用用户定义的其他群组或列表。用户的 设备信息包括用户设备的注册信息等。用户地址簿的基本结构如图4所示。 步骤S302、网络地址簿接收到用户的地址簿更新请求。 网络地址簿接收到的用户的地址簿更新请求是对整个用户地址簿的更新 请求,或者是对某个联系人信息的更新请求。步骤S303、网络地址簿获取用户的地址簿。
网络地址簿接收到用户编辑的地址簿后将用户地址簿保存在网络地址簿 的数据存储装置中,当网络地址簿接收到用户的地址簿更新请求后,根据该 更新请求中包含的用户信息从数据存储装置中获取用户的地址簿。
步骤S304、网络地址簿对获取到的用户地址簿进行解析,才艮据用户地址 簿的设置判断是否需要从其他的业务引擎服务器获取联系人的相关信息,如 果是则执行步骤S305,否则执行步骤S307。
具体的,网络地址簿在获取到用户地址簿之后对用户地址簿进行解析, 依次判断每一个联系人的信息中是否需要联系人的呈现信息或位置信息、在 联系人的基本信息中是否包含对联系人基本信息的引用以及用户的群组信息 中是否包含对某个群组的引用等;如果判断出需要上述任一信息,网络地址 簿根据判断结果生成相应的获取请求。如杲判断出需要上述信息中的多个, 则根据联系人的归属域信息将联系人组合成列表统一获取,例如判断需要在 地址簿中获取5个联系人的呈现信息,则根据联系人归属域的信息将这5个联 系人组合成不同的列表进行获取。生成的获取请求消息可以根据相应接收该 获取请求消息的业务引擎支持机制的不同而不同,例如呈现信息业务引擎支 持SIP协议的订阅通知机制,XDMS支持XCAP协议的获取方法和SIP协议的订 阅通知机制,网络地址簿在生成获取联系人呈现信息的请求消息时则使用SIP 协议的SUBSCRIBE (订阅)方法,在向XDMS获取联系人信息时即可以使用
还可以针对不同的业务引擎设置不同的过滤条件,例如对呈现信息而言,可 以根据正TF (Internet Engineering Task Force,互联网工程工作小组)的草案 draft-ietf-simple-filter-format-05进行设置,具体的,可以根据SP ( Service Provider,服务提供商)、运营商的策略或根据用户的设置进行设置。
步骤S305、网络地址簿根据判断结果生成相应的获取请求,并发送给其 他业务引擎服务器。
步骤S306、网络地址簿从其他业务引擎服务器获取联系人的相关信息后, 将获取到的信息与用户地址簿上联系人的其他信息进行合并,更新用户地址
10簿。
具体的,网络地址簿在从其他业务? 1擎服务器获取到联系人相关信息后, 根据信息中包含的内容或与信息相关的连接判断接收到的信息的类型,例如
可以根据SIPNOTIFY (通知)消息中的event头字段判断出此接收到的消息为 呈现信息,根据HTTP (HyperText Transfer Protocol,超文本传输协议)响应 所属的HTTP连接来判断所述接收到的消息为位置信息或联系人的特征信息 等;然后根据联系人的标识,将获取到的信息与地址簿上联系人的信息进行 合并,合并时将获取到的信息添加到地址簿的相应位置上,例如如果用户的 地址簿上已设置需要获取联系人的呈现信息,那么在获取到相应呈现信息后, 将呈现信息作为上述设置的子信息添加到上述设置下,此外还需要在地址簿 中增加相关的解析信息,以使NAB客户端可以正确的显示所述信息,例如, 当获取到的信息是使用XML的形式实现的,那么在合并时应该在地址簿中增 加相关的命名空间,以显示所述XML的形式的信息。
步骤S307、网络地址簿将用户地址簿的更新信息向发起更新请求的用户 设备发送。
步骤S308、网络地址簿根据用户的设备信息文件向用户的多个设备发送 更新后的地址簿,用户的设备信息文件可以在用户向网络地址簿注册时通过 注册请求或通知消息携带给网络地址簿。
具体的,所述更新后的地址簿可以是被部分更新的地址簿,即仅包括联 系人信息发生变化的部分,或者是整个地址簿。用户接收到更新后的地址簿, 更新设备上的地址簿时,如果用户地址簿釆用XML的形式实现,可以使用Etag 来区分需要被更新的地址簿和地址簿的更新信息。
本发明的实施例三中, 一种地址簿的处理方法如图5所示,具体步骤如下
步骤S501、网络地址簿接收到用户通过NAB Client编辑的用户地址簿并保存。
步骤S502、网络地址簿解析接收到的用户地址簿,根据用户地址簿上的 设置判断是否需要从其他的业务引擎服务器获取联系人的相关信息,如果是 则执4亍步骤S503,否则执行步骤S505。步骤S503、网络地址簿根据需要获取的联系人的相关信息,生成相应的 获取请求,并发送给其他业务引擎服务器
步骤S504、网络地址簿接收到从其他业务引擎服务器上获取到的联系人 信息,将获取到的联系人信息与用户地址簿上联系人的信息进行合并,更新 用户地址簿。
步艰《S505、网络地址簿向用户的NAB Client同步所述更新后的用户地址簿。
具体的,网络地址簿在向用户的NABClient同步地址簿时,可以采取定时 同步、事件触发同步、每次地址簿上联系人信息变化时同步等同步方式。可 以通过XML的形式来描述同步设置。定时同步可以根据用户、服务提供商或 运营商制定的策略来确定定时同步的时间间隔,该时间间隔可以通过如下所 示XML的形式表示
Synchronization type=timing> <time—intervals value=10〉 <device—subset scope=subset> <d6vicc〉
<gruu>sip:alice@example.com;opaque="kjh29x97us97d"</gruu> </d6vic6〉 </devicesubset〉 </synchrcmization>
其中"<synchronization> "元素表示此设置文件为同步的i殳置文件, "<synchronization>"元素的"type"属性的值为冲支举型,具体的"timing" 表示定时同步,"event"表示事件触发同步,"change"表示每次地址簿上 联系人信息发生变化时同步;当"type"属性值为"timing"时,<synchronization> 元素包^"一个〈time—intervals〉子元素,〈time一intervals〉子元素包^^一个"value" 属性,其值为整型,表示同步的时间间隔,〈synchronization〉元素还包含一个 <device—subset〉子元素,表示需要同步的设备子集,〈device—subse1^子元素可 以包含一个"scope"属性,其值为"all"时表示要向所有的设备同步地址簿, 其值为"subset"时表示仅向部分设备同步地址簿,此时〈device—subset〉元素 包含一个或多个〈device〉子元素,〈device〉子元素还包含一个〈gruu〉子元素用 来表明被同步的设备标识。
事件触发同步即当预定义的事件发生时,网络地址簿再向NAB Client发起 同步,预定义的事件可以是用户的注册事件、用户发起获取请求的事件或用户预先定义的同步触发条件,例如用户可以定义同步条件当联系人l向移动 通信网络注册时,网络地址簿要将这一信息的变化同步到用户的所有设备上, 或者接收到用户的获取请求时网络地址簿要将这一信息的变化同步到用户的 所有设备上,用XML的形式表示上述规则如下
<synchronization type=event event=registration> <device—subset scope=subset> <device>
<gruu>sip:alice@example.com;opaque="kjh29x97us97d"</gruu> </devic6> </device—subset> </synchronization>
当〈synchronization〉元素的"type"属性值为"event"时,表示这是一个 事件触发同步设置,此时〈synchronization〉元素会增加一个表示事件同步类型 的"event,,属性,其值可以是"registration"表示是注册事件触发的同步,"fetch" 表示当用户发起获取请求时触发的同步等。
步骤S506、网络地址簿根据用户的设备信息文件向用户的多个设备同步 更新后的地址簿。
本发明的实施例三与实施例二的主要区别在于,当网络地址簿接收到用 户地址簿并保存后立即解析地址簿,根据用户地址簿上的设置获取联系人信 息,而实施例一是在网络地址簿接收到用户的更新请求时,才根据用户地址 簿上的设置获取联系人信息。
本发明的实施例四中,用户通过NAB Client添加联系人信息,并将添加后 的信息保存在网络地址簿上,当用户使用地址簿时,NABClient向网络地址簿 发起信息更新请求,获取网络地址簿上联系人的最新联系信息,例如联系人 的呈现信息、共享群组/列表/联系人profile (简介)等。本发明一种地址簿的 处理方法如图6所示,具体步骤如下
步骤S601 、公共用户标识为sip:joebloggs@example .com的用户通过UE (User Equipment ,用户终端)上的NAB Client向此用户的地址簿 l(addressbookl)添力口标识为sip:friendl⑥example.com的耳关系人4言息,并通过 XCAP协议的PUT方法将新添加的联系人信息保存在网络地址簿上,XCAP协 i义的PUT方法的添加消息如下所示
PUT http:〃xcap.example.com/nbook/users/sip:joebloggs(g)'example.com/addressbook1/~ /resource-lists/list〖@name="My_friends"]/entry[@uri="sip:friend2^example.com"] HTTP/1.1Content-Type: application/xcap-el+xml Content-Length:(…)
< xml version-" 1.0" encoding="UTF-8" > <entry uri="sip:friend2@example.com">
<display-name>Friend2</display-name> </entry>
进一步,用户还可以向地址簿中添加对其他联系人列表或群组列表的引
用,引用信息可以通过〈entry-ref^元素的"ref,属性或〈external〉元素的"anchor" 属性来表示。其中当引用联系人列表和被引用联系人列表在同一个XCAProot 下时,〈entry-re》元素的ref属性值为被引用联系人列表的相对路径值;当引用 联系人列表和被引用联系人列表在不同XCAP root下时,〈external〉元素的 anchor属性值为被引用联系人列表的绝对路径值。
用户还可以向地址簿中添加联系人的基本信息,或引用其他51擎服务器 中定义的联系人基本信息,例如OMA PAG ( Open Mobile Alliance Presence and Availability Working Group)工作组的Shared Profile中定义的用户基本信息, 就可以通过4asic-info〉元素的anchor属性来引用;如果其它业务引擎服务器上 没有相关联系人基本信息的定义,用户可以通过NAB Client添加联系人的基本 信息。联系人基本信息可以包括联系人的联系方式、出生日期、名字、联系 地址、性别和爱好等信息。其中联系方式可以使用〈communication-address〉元 素来表示,其值可以是用户的SIPURI、 TELURI、 E.164地址或email地址等; 出生日期可以使用〈birth-date〉元素表示;性别可以使用〈gender〉元素来表示, 用来指示联系人的性别;爱好可以使用〈hobbies〉元素来表示。联系人的基本 信息还可以进一步扩展包含更加丰富的信息,在此不在赘述。
此外,在用户的地址簿中还可以包含指示是否需要订阅联系人呈现信息 或位置信息的标识元素,可以4吏用<presence-info>元素或<location-info>的 "flag"属性来表示,其值为布尔型的变量true或false。在用户的地址簿中还 可以包含指示是否需要的联系人漫游信息的标识元素,可以使用々oam-info〉 元素的"flag"属性表示,其值为布尔型的变量true或false。
包含上述信息的地址簿的实例如下所示
<entry uri="sip:friend3@example.com"〉 <display-name>Friend3</display-name> <basic-info>
<communication-address>
<comm-addr>tel:13843859438</comm-addr></communication-address〉 <birth-date> 1980-U-20</birth-date> <gender>male</gender> <hobbies>basketban</hobbies〉 </basic-info>
<presence-info flag=,,true,7> <roam-info flag="true"> </entry>
<entry uri="sip:friend4@example.com"> <display-name>Friend4</display-name> <basic-info
anchor="http:〃org.openmobilealliance.user-profile/users/sip:friend4(gtexample.com/
user-profile,,> 〈presence-info flag=,,true,7> <roam-info flag="false"〉 </entry〉
<entry-ref ref="nbook/users/sip:joebloggs@example.com/addressbook2/—/resource-lists/I ist0/05b@name=%221istl%22%5d/entry%5b@uri=%22sip:petri@example.com%22%5d7>
步骤S602、网络地址簿将接收到的新添加的联系人信息发送给数据存储
功能实体,数据存储功能实体将新添加的联系人信息更新到addressbookl中, 更#斤后的addressbook 1 :^r下戶斤示
< xml version=",0" encoding="UTF-8" >
〈resource-lists xmlns-"urn:ietf:params:xml:ns:resource隱lists" xmlns:xsi="http:〃www.w3.org/2001/XMLSchema-instance"> <list name="My_friends"〉 <entry uri="sip:friendl@example.com"> <display-name>Friend 1 </display-name> </6ntry>
<entry uri="sip:friend2@example.com"> <display-name>Friend2</display-name> </6ntry>
<entry uri="sip:friend3@example.com"〉 <display-name>Friend3</display-name> <basic-info>
<communication-address>
<conmi-addr>tel: 13843859438</comm-addr>
</communication-address〉
<birth-date> 1980-1 l-20</birth-date〉
<gender>male</gender〉
<hobbies>basketball</hobbies> </basic-info〉
<presence-info flag=,,true,7〉 <roam-info flag="false,,〉 </entry〉
<entry uri="sip:friend4@example.com"> <display-name>Friend4</display-name> <basic-info
anchor="http:〃org.openmobilealliance.user-profile/users/sip: friend4 @example. com/
user-profile/"> 〈presence-info flag="true,7〉 <roam-info flag="false,,> </entry>
<entry-ref ref="nbook/users/sip:joebloggs@examplexom/addressbook2/ /resource-lists/1 ist%5b@name=%221istl0/o22%5d/entry%5b@uri=%22sip:petri@example.com%22%5d7〉
步骤S603、 addressbookl更新后,数据存储功能实体向网络地址簿返回200ok的成功响应。
步骤S604 、网络地址簿向用户的NAB Client返回200 ok的成功响应。 步骤S605、用户通过NAB Client使用用户地址簿,NAB Client通过XCAP
协议的GET方法向网络地址簿发起信息更新请求。
步骤S606、网络地址簿的管理功能实体接收到信息更新请求后,通过
XCAP协议的GET方法向数据存储功能实体获取用户的地址簿addressbookl。
获取请求如下所示
GET /org.openmobilealliance.network-addressbook/users/sip:joebloggs@example.com/addressbookl HTTP/1.1 Host: xcap.example.com User-Agent: NAB-client/OMA2.0 Date: Aug, 10 Aug 2007 10:50:33 GMT X-3GPP-Intended-Identity: "sip:joebloggs@example.com"
进一步,此更新请求可以是仅更新某个联系人的联系信息,或者更新整
个地址簿,例如,仅更新标识为sip:friend2②example.com的联系人信息时,获 取请求如下所示
GET /org.openmobilealliance.network-addressbook/users/sip:joebloggs@example.com/addressbookl/ / resource-lists/entry[@uri="sip:friend2@example.com"] HTTP/1.1
步骤S607、数据存储功能实体向网络地址簿的管理功能实体返回200ok的 成功响应,并在响应中返回获取的用户地址簿addressbookl,其中addressbookl 的形式及内容如步骤S602表格中所示。
步骤S608 、网络地址簿的管理功能实体对获取到的addressbookl进行解 析,根据addressbookl中记录的内容判断出需要获取联系人标识为 sip:friend3@example.com的联系人的呈现信息,获取联系人标识为 sip:friend4②example.com的联系人的呈现信息和联系人的基本信息。
步骤S609、根据步骤S608的判断结果,网络地址簿的管理功能实体通过 XCAP协议的GET方法向Shared Profile XDMS获取标识为 sip:friend4⑥example.com的联系人的基本信息,获取请求如下所示
GET /org.openmobilealliance.user-profile/users/sip:friend4@example.com/user-profile HTTP/1.1 Host: xcap.example.com
User-Agent: XDM-client/OMA2.0 Date: Aug, 10 Aug 2007 10:50:33 GMT X-3GPP-Intended-Identity: "sip: joebloggs@example.com"
步骤S610、 Shared Profile XDMS向网络地址簿返回200 ok的成功响应,并 在响应中返回标识为sip:friend4②example.com的联系人的基本信息,返回的响应消息的内容如下所示
HTTP/1.1 200 OK Etag: "et53"
Content-Type: application/vnd.oma.user-profile+xml
< xml version="1.0" encoding="UTF-8" > <user-profiles xmlns="urn:oma:xml:xdm:user-profile"> <user-profile uri="sip:friend4@example.com"> <communication-addresses>
<comn>addr>+l 858 623 0743</comm-addr〉 </ communication-addresses>
<display-name xml:lang="en">Alice</display-name〉 <birth-date〉 1995-05-20</birth-date〉 <gender>female</gender〉 </user-profile〉 </user-profiles>
步骤S611、根据步骤S608的判断结果,网络地址簿的管理功能实体通过 SIP协议的SUBSCRIBE方法向呈现业务服务器订阅联系人标识为 sip:friend3⑨example.com和sip:friend4⑨example.com的呈现信息。
进一步,上述订阅请求可以是一次订阅请求也可以是长期订阅请求,当 订阅请求为一次订阅请求时,需指定此订阅请求的Expires头域值为"0"。
进一步,当根据步骤S608的判断结果需要获取多个联系人的呈现信息时, 网络地址簿的管理功能实体可以将此多个联系人组成一个列表,并作为 SUBSCRIBE请求的消息体发送给RLS (Resource List Server,资源列表服务 器),由RLS根据这个列表产生后端订阅请求,发送给呈现业务服务器,订阅 列表中所有联系人的呈现信息。由上述两个联系人组成的订阅列表如下所示
< xml version="l,0" encoding="UTF-8" >
〈resource-lists xmlns="um:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http:〃www,w3.org/2001/XMLSchema-instance">
<list>
<entry uri="sip:friend3@example.com" /> <entry uri="sip:friend4@example.org" /> </list> </resource-lists>
步骤S612、订阅成功,呈现业务服务器或资源列表服务器向网络地址簿 返回200ok的成功响应。
步骤S613、呈现业务服务器通过SIP协议的NOTIRY方法,向网络地址簿 发送所订阅的联系人的呈现信息通知消息,上述两个联系人的呈现信息如下 所示
< xml version="1.0" encoding="UTF-8" 〉
<presence xmlns="urn:ietf:params:xml:ns:pidf'
17xmlns:im="urn:ietf:params:xml:ns:pidf:im" xmlns:myex="http:〃id.example.com/presence/" entity="sip:friend3@example,com"> <tuple id="bs35r9"> <status>
<basic>open</basic> <im: im>busy </im: im> <myex: location>home</myex: location> </status>
<note xml:lang="en">Don't Disturb Please!</note〉 <timestamp〉2001 -10-27T16:49:29Z</timestamp> </tuple> </presence>
< xml version="1.0" encoding="UTF-8" >
<presence xmlns="urn:ietf:params:xml:ns:pidf' xmlns:im="urn:ietf:params:xml:ns:pidf:im" xmlns:myex="http:〃id.example.com/presence/" entity="sip:friend4@example.com"〉 <tuple id="eg92n8"> <status>
<basic>open</basic〉 </status> </tuple>
<note>I'll be in Tokyo next week</note> </prescnc6〉
步骤S614、网络地址簿向呈现业务服务器返回200 ok的成功响应。 步骤S615 、网络地址簿将获取到的各种信息与地址簿中的联系人信息进 行合并。
进一 步,网络地址簿将获取到的各种信息与地址簿中的联系人信息进行 合并时,可以根据联系人的用户标识将获取到的信息添加到地址簿中。在添 加信息时应该将相关命名空间添加到地址簿中,添加后的地址簿如下所示
< xml version="1.0" encoding="UTF-8" >
<resource-lists xmlns二"urn:ietf:params:xml:ns:resource-lists" xmlns:xsi=http:〃www. w3.org/2001/XMLSchema-instance xmlns="urn:ietf:params:xml:ns:pidf' xmlns:im="urn:ietf:params:xml:ns:pidf:im" xmlns:mvex=http:〃id.example.com/presence xmlns="urn:oma:xml:xdm:user-proflle7> <list name="My—friends"> <entry uri="sip:friendl@examplexom"> <dispIay-name>Friend 1 </display-name> </cntry>
<entry uri="sip:friend2@example.com"> <display-name>Friend2</display-name> </entry〉
<entry uri="sip:friend3@example.cotn"> <display-name>Friend3</display-name〉 <basic-info>
<communication-address>
<comm-addr>tel: 13843859438</comm-addr> </communication-address〉〈birth-date〉 1980-1 l-20</birth-date〉 <gender>male</gender> <hobbies〉basketball</hobbies> </basic-info〉
<presence-info flag="true"> <tuple id="bs35r9"> <status>
<basic>open</basic> <im: im〉busy </im: im> <myex: location〉home</myex: location> </status>
<note xml:lang:"en"〉Don't Disturb Please!</note〉 <timestamp〉2001 -10-27T16:49:29Z</timestamp> </tupIe> </presence-info〉 <roam-info flag=,,false"> </6ntry>
<entry uri="sip:friend4@example.com"〉 <display-name>Friend4</display-name〉 〈basic-info〉 <commun ication-addresses〉
<comm-addr>+l 858 623 0743</comm-addr> </communication-addresses〉
<display-name xml:lang="en">Alice</display-name> <birth-date〉 1995-05-20</birth-date> <gender>female</gender> </basic-info> <presence-info>
<tuple id="eg92n8"〉 <status>
<basic>open</basic> </status〉 </tuple>
<note>I'll be in Tokyo next week</note> </presence-info> <roam-info flag-,,false, </entry>
<entry-ref ref="nbook/users/sip:joebloggs@example.com/addressbook2/ /resource-lists/1 ist%5b@name=%221istl%220/05d/entry%5b@uri=%22sip:petri@example.com%22%5d"/>
步骤S616、网络地址簿向用户的NABClient返回200ok的成功响应,并将 步骤S615合并后的联系人信息作为消息体发送给用户的NAB Client。
进一步,用户的地址簿中还可以包括联系人位置信息的相关设置,可以 通过〈ocation〉元素表示联系人位置信息,通过其属性"flag"值表示此用户是 否需要此联系人的位置信息,"flag"属性为一个布尔型的变量,其值为true 或false。当某个联系人的〈ocation〉元素的flag属性值为true时,网络地址簿可 以通过MLP (Mobile Location Protocol,移动位置协i义)协议产生获取联系人 位置信息的请求消息。此请求消息可以立即定位请求消息也可以是触发定位 请求消息。当所述的请求消息为立即定位请求消息时,可以设置消息头中的 <requestor〉元素的<id>子元素值为网络地址簿的MSISDN ( Mobile station
19ISDN number,移动基站ISDN号码)标识或IP标识或SIP URI,而〈serviceid〉 子元素的值为网络地址簿的服务标识(此标识由运营商来分配),设置消息 体中〈msid〉子元素的值为联系人的SIP URI标识,同时设置此元素的type属性 为"SIP一URT 。网络地址簿还可以在一个位置信息请求消息体中包含多个联 系人标识来一次获取多个联系人的位置信息。
进一步,在网络地址簿向发起更新请求的用户设备返回更新地址簿信息 后,网络地址簿解析用户设备信息文件,并根据用户设备信息文件向用户的 其他设备发送地址簿的更新信息。用户设备信息文件可以保存在网络地址簿 的数据存储装置上,当用户的设备向IMS (IP Multimedia Subsystem, IP多媒 体系统,)网络注册时,网络地址簿可以通过第三方注册方式获得用户的设 备信息并将设备信息增加到用户设备信息文件上,用户的设备信息可以是用 户设备的GRUU (用户代理统一资源标识符)标识或contact地址。
上述实施例中NBA Client是用户终端上的功能实体,管理功能实体为网络 地址簿上的功能实体,数据存储功能实体位于网络地址簿上或者作为独立的 网络实体存在,呈现业务服务器和Shared Profile XDMS属于同 一业务引擎服务 器或者属于不同的业务引擎服务器。
本发明的实施例五中,用户通过NAB Client向用户地址簿中添加联系人信 息,并将添加后的信息保存在网络地址簿上。网络地址簿接收到用户的保存 请求后解析用户地址簿的内容,根据用户地址簿上的设置获取联系人的各种 信息,并将联系人的最新信息返回给用户的NAB Client;当联系人的信息发生 变化时,网络地址簿对用户地址簿进行实时更新,并将更新后的网络地址簿 上的地址簿信息与用户终端上的地址簿进行实时同步,或者当用户通过终端 的NAB Client发起更新请求时,再将网络地址簿上地址簿信息与用户终端上的 地址簿信息进行同步,本发明一种地址簿的处理方法如图7所示,具体步骤如 下
步骤S701 、公共用户标识为sip:joebloggs⑥example.com的用户通过UE上 的NAB Client向此用户的addressbookl (地址簿1 )添力口标识为 sip:friend2⑥example.com的联系人信息,同时设置需要此联系人的呈现信息并引用了此联系人的基本信息,然后通过XCAP协议的PUT方法将新添加的联系 人信息保存在网络地址簿上,添加消息如下所示
PUT http:〃xcap.example.com/nbook/users/sip:ioebloggsfg)'example.com/addressbookl/ /resource墨 lists/list〖@name="My—friends"]/entry[@uri="sip:friend2^example.com"] HTTP/1.1
Content-Type: application/xcap-el+xml Content-Length:(,..)
< xml version="l,0" encoding="UTF-8" > <entry uri="sip:friend2@example.com"> <display-name〉Friend2</display-name> <basic-info
anchor="http:〃org;.openmobilealliance.user-profile/users/sip:friend2@exaTnple.com/ user-profile/"> 〈presence-info flag="true"/> </6ntry>
步骤S702、网络地址簿将用户提交的addressbook l通过XCAP协议的PUT 方法保存在数据存储功能实体中。
步骤S703、保存成功后,数椐存储功能实体向网络地址簿的管理功能实 体返回200 ok的成功响应。
步骤S704、管理功能实体解析用户提交的addressbookl,根椐〈basic-info〉 的anchor属性以及〈presence-info〉的flag属性判断出要获取耳关系人的基本耳关系 信息和联系人的呈现信息,并产生相关的获取请求。
步骤S705、网络地址簿向呈现业务服务器发送订阅联系人标识为sip: friend2⑥example.com的SUBSCRIBE订阅请求消息。在所述订阅请求中可以包 含一个过滤器,通过过滤器可以指定仅订阅此联系人目前使用的业务信息。 过滤器可以由SP或运营商的策略指定。包含一个过滤器的订阅请求如下所示
SUBSCRIBE sip :friend2@example.com sip2.0
Event: presence
accept: application/simple-filter+xml
< xml version="1.0" encoding="UTF-8" >
<filter-set xmlns="urn:ietf:params:xml:ns:simple-filter"> <ns-bindings>
<ns-binding prefix="pidf , urn="um:ietf:params:xml:ns:pidf'/〉 <ns-binding prefix="rpid"
um="urn:ietf:params:xml:ns:pidf:rpid-tuple"/〉
</ns-bindings>
<filter id="123" uri="sip:friend2@example.com"> <what>
<include type="xpath">
/pidf:presence/pidf:tuple </include> </what></filter> </filter-set>
步骤S706、订阅成功后,呈现业务服务器向网络地址簿返回200ok的成功响应。
步骤S707、呈现业务服务器通过SIP协议的NOTIFY方法向网络地址簿发 送联系人呈现信息的通知消息,消息体中包含联系人的呈现信息。
步骤S708、网络地址簿向呈现业务服务器返回200 ok的成功响应。
步骤S709、网络地址簿将获取到的信息与步骤S701用户通过NAB Client 4是交的addressbook l的副本进行合并,并将合并后的addressbook l作为200 ok 响应的消息体发送给NAB Client。
步骤S710、标识为sip: friend2②example.com的联系人呈现信息发生变化 时,呈现业务服务器通过SIP协议的NOTIFY方法向网络地址簿发送呈现信息 变化的通知消息。
步骤S711、网络地址簿向呈现业务服务器返回200ok的成功响应。
步骤S712、网络地址簿通过XCAP协议的GET方法从数据存储功能实体中 获取用户的addressbook 1 。
步骤S713、数据存储功能实体向网络地址簿返回200ok的成功响应,并在 消息体中携带addressbook 1 。
步骤S714、网络地址簿将用户addressbook l上联系人的信息与获取到的呈 现信息进行合并,合并方式如实施例四的合并过程所示。
步骤S715、网络地址簿通过数据同步技术向用户的NAB Client同步 addressbook 1 。
上述实施例中NBA Client是用户终端上的功能实体,管理功能实体为网络 地址簿上的功能实体,数据存储功能实体位于网络地址簿上或者作为独立的 网络实体存在,呈现业务服务器和Shared Profile XDMS属于同一业务引擎服务 器或者属于不同的业务引擎服务器。
通过使用本发明实施例提供的方法,在网络侧提供一种网络地址簿,可 以根据用户的设置获取丰富的联系人信息,解决了目前现有的地址簿功能单 一,且与业务强相关不能作为独立功能为用户提供服务的缺点,且可以同步更新用户的的多个设备上的地址簿信息,当用户的其中 一个设备发起更新的 地址簿的信息时,其他用户的设备上地址簿也随之更新,保证了用户的多个 设备上地址簿信息一致。
本发明的实施例六中, 一种地址簿的处理系统如图8所示,所述的系统包 括至少一个用户终端IO、 一个网络地址簿20和至少一个业务引擎服务器30。
其中,用户终端10,用于通过NAB Clien对网络地址簿20进行访问和管理, NAB Client可以使用XCAP协议、SIP协议或DS数据同步协议对网络地址簿20 进行访问和管理。此外,NABClient还提供其他业务客户端的访问接口,例如 网络地址簿客户端与PoC客户端、IM客户端等业务客户端之间的接口 。
网络地址簿20,用于保存和管理用户的地址簿、获取并合并需要更新的
联系人信息。相应地,网络地址簿20可以通过特定接口与业务引擎服务器30
相连,例如当业务引擎服务器30是呈现业务服务器时,网络地址簿20可以通
过OMA PAG工作组Presence业务引擎技术规范中定义观察者到SIP/IP Core之
间的接口PRS-2, SIP/IP Core到呈现业务服务器之间的接口PRS-3获得联系人
的呈现信息;网络地址簿20还可以支持一个与Shared XDMS (Shared XML
Document Management Server共享XML数据管理服务器)之间的接口 ,并通过
XCAP协议或SIP协议实现获取联系人的基本信息的功能;网络地址簿20还可
以支持一个与位置服务器之间的接口并通过MLP协议获得联系人的位置信 台、
业务引擎服务器30,通过特定接口与网络地址簿连接,用于向网络地址 簿20提供联系人的相关信息。业务引擎服务器30进一步包括呈现信息服务器、 位置信息服务器、共享列表服务器、共享群组服务器等。
本发明的实施例七中, 一种网络地址簿,如图9所示,包括存储单元21、 管理单元22、获取单元23以及发送单元24。
其中,存储单元21,用于存储用户地址簿以及用户的设备信息文件。其 中,用户的地址簿可以使用XML的形式表示,因此存储单元21可以采取XDMS 的形式实现或者使用数据库的方式实现。存储单元21位于网络地址簿20上或 者作为独立的网络设备存在。管理单元22,与存储单元21相连,用于管理存储单元21存储的用户地址 簿,包括创建地址簿、获取地址簿、复制地址簿、删除地址簿以及修改地址 簿。根据存储单元21的实现方式不同,管理单元22可以通过不同的协议实现, 当存储单元21采用XDMS实现时,可以使用XCAP协议实现上述的管理功能。
获取单元23,用于对用户地址簿上的设置进行判断,根据用户地址簿上 需要更新的联系人信息生成获取请求并发送给业务引擎服务器30,从业务引 擎服务器30获取需要更新的联系人信息,并将获取到的需要更新的联系人信 息与用户地址簿上联系人的信息进行合并,对用户地址簿进行更新。为了能 够从不同的业务引擎服务器上获得联系人的信息,获取单元23需要实现相应 的协议,例如当联系人信息中包含了对联系人基本信息的引用,那么获取单 元23需要支持XCAP协议,当联系人信息包含了需要联系人呈现信息的设置, 那么获取单元23需要支持SIP协议,当联系人信息包含了需要联系人位置信息 的设置,那么获取单元23需要支持MLP (Mobile Location Protocol,移动位置 协议)。
发送单元24,用于将获取单元23更新后的用户地址簿通过数据同步技术 或其他方法发送给用户终端IO。所述其他方法为通过SIP协议的PUBLISH方 法、PUSH方法等技术实现。
本发明的实施例八中,如图10所示,另一网络地址簿在上述地址簿的基 础上还包4舌
鉴权单元25,与用户终端相连,用于对用户的访问请求进行鉴权,鉴权 单元25支持HTTP Digest、 GAA ( Generic Authentication Architecture,通用鉴 权架构)等鉴权机制。
解析单元26,用于在接收到发送单元24的命令后通过管理单元22从存储 单元21中获取用户的设备信息文件,并对用户的设备信息文件进行解析,将 解析结果返回给发送单元24,发送单元24根据接收到的解析结果将从获取单 元23中获得的用户地址簿同步或发送给用户的设备信息文件上记录的所有设 备上。
计费单元27,与管理单元相连,用于对用户管理地址簿的#:作产生计费信息,并上报计费信息给计费系统,计费信息的收集可以根据用户的管理操 作例如添加耳关系人、创建一个地址簿等。
配置单元28,与管理单元相连,用于为SP或运营商提供对网络地址簿上 的简单管理,例如SP或运营商可以通过配置单元28设置每一个普通网络地址 簿用户可以创建地址簿的数量、每个地址簿上包含联系人的数量等,配置单 元28可以采用XML的形式实现所述的配置文件,并保存在存储单元21上。
通过上述实施例提供的系统和设备,在网络侧提供一种网络地址簿,可 以根据用户的设置获取丰富的联系人信息,解决了目前现有的地址簿功能单 一,且与业务强相关不能作为独立功能为用户提供服务的缺点,且可以同步 更新用户的的多个设备上的地址簿信息,当用户的其中 一个设备发起更新的 地址簿的信息时,其他用户的设备上地址簿也随之更新,保证了用户的多个 设备上地址簿信息 一致。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发
明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案
该获取机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端 设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种地址簿的处理方法,其特征在于,包括以下步骤网络地址簿解析用户地址簿,根据所述用户地址簿上的设置生成相应的获取请求;所述网络地址簿根据所述获取请求获取需要更新的联系人信息,更新所述用户地址簿;所述网络地址簿将所述用户地址簿的更新信息同步或发送给用户设备。
2、 如权利要求l所述地址簿的处理方法,其特征在于,所述网络地址簿 解析用户地址簿之前还包括所述网络地址簿接收用户地址簿并保存;当所述网络地址簿接收到用户地址簿更新请求时,获取保存的所述用户 地址簿并进行解析;或所述网络地址簿解析所述接收到的用户地址簿。
3、 如权利要求2所述地址簿的处理方法,其特征在于,所述用户地址簿 更新请求是整个用户地址簿的更新请求或者用户地址簿中某个联系人的更新 请求。
4、 如权利要求l所述地址簿的处理方法,其特征在于,所述网络地址簿 解析用户地址簿,根据所述用户地址簿上的设置生成相应的获取请求具体为所述网络地址簿根据所述用户地址簿中的设置,判断是否需要从业务引 擎服务器获取需要更新的联系人信息;当需要从所述业务引擎服务器获取需 要更新的联系人信息时,所述网络地址簿根据需要更新的信息生成相应的获 取请求。
5、 如权利要求4所述地址簿的处理方法,其特征在于,所述网络地址簿 解析用户地址簿,根据所述用户地址簿上的设置生成相应的获取请求之后还 包括所述网络地址簿向所述业务引擎服务器发送所述获取请求。
6、 如权利要求5所述地址簿的处理方法,其特征在于,所述网络地址簿 根据所述获取请求获取需要更新的联系人信息,更新所述用户地址簿具体为所述网络地址簿根据所述获取请求从所述业务引擎服务器上获取所述需要更新的联系人信息,并将获取到的所述需要更新的联系人信息与所述用户 地址簿上联系人的其他信息进行合并,更新所述用户地址簿。
7、 如权利要求l所述地址簿的处理方法,其特征在于,所述网络地址簿 将所述用户地址簿的更新信息同步到用户设备的方式包括定时同步、事件 触发同步或每次地址簿上联系人信息变化时同步。
8、 如权利要求l所述地址簿的处理方法,其特征在于,所述网络地址簿 将更新后的用户地址簿向用户设备发送之后还包括所述网络地址簿解析所述用户设备的信息文件,根据所述用户设备的信 息文件向所述用户的其他设备同步或发送所述用户地址簿的更新信息。
9、 如权利要求8所述地址簿的处理方法,其特征在于,所述用户设备的 信息文件存储在网络地址簿上,当所述用户设备向IP多4某体子系统IMS网络注 册时,所述网络地址簿通过第三方注册方式获取用户设备信息并将所述用户 设备信息增加到用户设备的信息文件上。
10、 一种地址簿的处理系统,其特征在于,包括 用户终端,用于对网络地址簿进行访问和管理;网络地址簿,用于保存和管理用户的地址簿、获取并合并需要更新的联 系人信息;业务引擎服务器,用于向所述网络地址簿提供联系人的相关信息。
11、 如权利要求10所述地址簿的处理系统,其特征在于,所述用户终端 通过XML配置访问协议、会话初始协议SIP或DS数据同步协议对所述网络地 址簿进行访问和管理。
12、 如权利要求10所述地址簿的处理系统,其特征在于,所述业务引擎 服务器为呈现业务服务器,所述网络地址簿通过与SIP/IP Core之间的接口 PRS-2以及所述SIP/IP Core到所述呈现业务服务器之间的接口PRS-3获得联系 人的呈现信息。
13、 如权利要求10所述地址簿的处理系统,其特征在于,所述业务引擎 服务器为Shared XDMS,所述网络地址簿通过与所述Shared XDMS之间的接 口 ,利用XML配置访问协议或SIP协议获取联系人的基本信息。
14、 如权利要求10所述地址簿的处理系统,其特征在于,所述业务引擎 服务器为位置服务器,所述网络地址簿通过与位置服务器之间的接口,利用 移动位置协议MLP获得联系人的位置信息。
15、 如权利要求10所述地址簿的处理系统,其特征在于,所述网络地址 簿进一步包括存储单元,用于存储用户地址簿以及用户的设备信息文件; 管理单元,与所述存储单元相连,用于管理所述存储单元存储的用户地 址簿;获取单元,用于对所述用户地址簿上的设置进行判断,根据所述用户地 址簿上需要更新的联系人信息生成获取请求并发送给所述业务引擎服务器, 从所述业务引擎服务器获取所述需要更新的联系人信息,并将获取到的所述 需要更新的联系人信息与所述用户地址簿上联系人的信息进行合并,对所述 用户地址簿进行更新。发送单元,用于将所述获取单元更新后的用户地址簿信息发送给所述用 户终端。
16、 如权利要求15所述地址簿的处理系统,其特征在于,所述网络地址 簿还包括解析单元,在接收到所述发送单元的命令后,通过所述管理单元从所述 存储单元中获取用户设备的信息文件,解析所述用户设备的信息文件并将解 析结果返回给所述发送单元,所述发送单元根据所述解析结果将从所述获取 单元中获取的用户地址簿同步,并同步或发送给所述用户设备的信息文件上 记录的所有其他用户设备上。
17、 如权利要求15所述地址簿的处理系统,其特征在于,所述网络地址 簿还包括鉴权单元,与所述用户终端相连,用于对用户的访问请求进行鉴权; 计费单元,与所述管理单元相连,用于对用户管理地址簿的操作产生计 费信息,并将所述计费信息上报给计费系统;配置单元,与所述管理单元相连,用于为SP或运营商提供对所述网络地址簿上的简单管理。
全文摘要
本发明公开了一种地址簿的处理方法,包括以下步骤网络地址簿解析用户地址簿,根据所述用户地址簿上的设置生成相应的获取请求;所述网络地址簿根据所述获取请求获取需要更新的联系人信息,更新所述用户地址簿;所述网络地址簿将所述用户地址簿的更新信息同步或发送给用户设备。通过使用本发明实施例提供的方法,可以根据用户的设置获取丰富的联系人信息,解决了目前现有的地址簿功能单一,且与业务强相关不能作为独立功能为用户提供服务的缺点,且可以同步更新用户的的多个设备上的地址簿信息,当用户的其中一个设备发起更新的地址簿的信息时,其他用户的设备上地址簿也随之更新,保证了用户的多个设备上地址簿信息一致。
文档编号H04L29/08GK101426017SQ200710166729
公开日2009年5月6日 申请日期2007年11月1日 优先权日2007年11月1日
发明者宋雪飞, 浩 王 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1