CN101714170A - 一种基于xdms的群组管理系统及方法 - Google Patents

一种基于xdms的群组管理系统及方法 Download PDF

Info

Publication number
CN101714170A
CN101714170A CN200910250024A CN200910250024A CN101714170A CN 101714170 A CN101714170 A CN 101714170A CN 200910250024 A CN200910250024 A CN 200910250024A CN 200910250024 A CN200910250024 A CN 200910250024A CN 101714170 A CN101714170 A CN 101714170A
Authority
CN
China
Prior art keywords
group
user
xdms
list
message
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.)
Granted
Application number
CN200910250024A
Other languages
English (en)
Other versions
CN101714170B (zh
Inventor
陈敬志
屈兰
盛锐
覃洪清
李长春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN2009102500241A priority Critical patent/CN101714170B/zh
Publication of CN101714170A publication Critical patent/CN101714170A/zh
Application granted granted Critical
Publication of CN101714170B publication Critical patent/CN101714170B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

一种基于XDMS的群组管理系统及方法,涉及网络通信中的群组管理,其特征在于:用户终端以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现好友和群组列表的管理;用户终端以SIP服务器为SIP信令接入点,通过SIP消息与Presence服务器交互实现用户状态的订阅、发布和通知,与IM服务器交互实现即时消息的传递,与XDMS交互实现文档变化的订阅与通知;Presence服务器和IM服务器分别以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现通过群组标识来获取群组成员列表。本发明所述的管理系统及方法,可满足用户方便快捷地对客户端的大量好友和群组进行管理,并能在多个不同用户终端上的客户端间共享好友列表和群组数据,增强用户体验。

Description

一种基于XDMS的群组管理系统及方法
技术领域
本发明涉及网络通信中的群组管理,具体的说是一种基于XDMS的群组管理系统及方法,所述XDMS为XML文档管理服务器。
背景技术
OMA(Open Mobile Alliance,开放移动联盟)是一个国际标准化组织,其宗旨是寻求一种与系统无关的、开放的,使各种应用和业务能够在全球范围内的各种用户终端上实现互联互通的标准。OMA推出了OMA XDM(XML Document Management,XML文档管理)规范,它定义了能够存储和管理多种业务XML数据的通用引擎——XML文档管理系统,如图1所示,XML文档管理系统主要包含以下几个功能实体:
1.共享列表(Shared List)XDMS(XDM Server,XDM服务器):包括Resource Lists XDMS和Group Usage List XDMS,存储和管理两种类型的XML文档的内容——用户URI(Uniform ResourceIdentifier,统一资源标识符)列表文档Resource Lists和群组列表文档Group Usage List;处理接收到的SIP(Session InitiationProtocol,会话初始协议)请求和XCAP(XML Configuration AccessProtocol,XML配置访问协议)请求;当上述两种XML文档内容发生改变时,通知该文档的订阅者。
2.共享资料(Shared Profile)XDMS:存储和管理用户资料(UserProfile)文档的内容;处理客户端的SUBSCRIBE请求和XCAP请求;为客户端提供基于XML的查询能力。
3.共享群组(Shared Group)XDMS:存储和管理群组资料的XML文档的内容,包括群组设置、群组成员、群组策略等信息;处理客户端的SUBSCRIBE请求、处理XCAP请求;为客户端提供基于XML的查询能力。
4.特定功能XDMS:常见的有用于存储和管理访问控制策略文档的Shared Policy XDMS,用于存储提供资源列表状态服务文档的RLS(Resource List Server,资源列表服务器)XDMS,用于存储历史消息和离线消息元数据文档的IM(Instant Messaging,即时通信)XDMS。
5.XDMC(XDM客户端):XDMC是一个客户端实体,它提供访问上述各种XDMS中的XCAP资源的功能;它首先通过XCAP来构建基于HTTP协议的URI,然后通过URI访问XDMS中的XCAP资源。所述XCAP资源可以是XML文档,也可以是XML文档内的某个元素或属性;所述访问可以是添加、获取、修改、查询XCAP资源;XDMC还可以发起对XML文档变化和好友状态的订阅请求;当XDMC与3GPP IMS(IP MultimediaSubsystem,IP多媒体子系统)网络或者SIP/IP Core网络交互时,XDMC可以在UE(User Equipment,用户终端)或某个AS(ApplicationServer,应用服务器)中实现。
6.聚合代理:它是UE中的XDMC访问存储在XDMS中的XCAP资源的接入点,同时也是其他特定功能实体AS访问远程XDMS的接入点;执行XDMC的认证和鉴权功能;路由XCAP请求到正确的XDMS或远程网络实体。
所述UE是指包含客户端的一种设备,例如手机、PDA(PersonalDigital Assistant,个人数字助理)、PC等;所述客户端特指UE中的通信客户端软件,包括IM客户端和XDMC两部分(参见图2)。
目前,移动通信、IM等网络通信技术已经得到了大规模的应用,关于VOIP(Voice Over IP,IP电话)、IM和网络融合的讨论已经从理论探讨逐渐到了现实生活中,用户希望使用同一个客户端,可以与不同类型的其他客户端进行通信;用户希望自己的客户端既可以打电话,也可以即时通信。可是,由于没有遵循统一标准,各种客户端还不能共享数据,所以也就无法进行互通。如常用的IM客户端里,MSN和QQ的好友列表就不能共享,不能互发即时信息。
大量用户的加入,使得客户端上的好友越来越多。于是,各种客户端上的好友列表,管理起来就越来越复杂,也越来越难以让人满意。用户希望自己的好友列表能够方便地进行分组,也能方便地同时和多人进行聊天;同时,用户希望自己各个客户端的好友列表都能共享,如手机客户端通信簿和PC客户端上好友列表的共享。而现有的IM通信系统中,并不存在这样一种机制来实现用户的需求。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于XDMS的群组管理系统及方法,可满足用户方便快捷地对客户端的好友列表和群组进行管理,并能在多个不同用户终端上的客户端间共享好友列表和群组数据,增强用户体验。
为达到以上目的,本发明采取的技术方案是:
一种基于XDMS的群组管理系统,其特征在于:包括用户终端、XDMS和聚合代理、SIP服务器、IM服务器、Presence服务器;
用户终端包含IM客户端和XDMC,以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现好友和群组列表的管理;
用户终端以SIP服务器为SIP信令接入点,通过SIP消息与Presence服务器交互实现用户状态的订阅、发布和通知,通过SIP消息与IM服务器交互实现即时消息的传递,通过SIP消息与XDMS交互实现文档变化的订阅与通知;
Presence服务器和IM服务器分别以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现通过群组标识来获取群组成员列表。
一种基于上述系统的基于XDMS的群组管理方法,其特征在于包括以下管理功能:
A.存储用户列表,用户终端通过XCAP消息将用户终端上的好友列表和群组列表分别上传到XDMS上;
B.获取用户列表,所述用户列表包括获取好友列表和群组列表,用户登录到用户终端时,通过XCAP消息从XDMS上获取好友列表和群组列表,并分别呈现在用户终端上;
C.创建好友分组,用户终端通过XCAP消息创建不同的分组,再通过XCAP消息将好友列表上的好友分别添加到分组中,形成多个好友分组,一个好友不能被添加到多个分组中;
D.添加好友,用户终端通过SIP MESSAGE消息,发送添加某用户的请求到IM服务器,IM服务器将该邀请转发至该用户;经过该用户的认证和授权后,同意被添加的SIP MESSAGE消息经IM服务器返回,用户终端收到后再向XDMS发送XCAP消息,将该用户添加为好友并在好友列表内呈现该用户;
E.创建群组,用户通过用户终端,将群组资料和相关群组访问规则通过XCAP消息发送到XDMS服务器,创建一个群组;群组创建成功后,该群组便会显示在用户终端上,群组成员中默认包含创建该群组的用户且为该群组的管理员;
F.加入群组,当某个用户想加入一个群组时,用户终端通过SIP MESSAGE消息发送该群组的帐号URI到IM服务器,IM服务器通过SIP MESSAGE消息转发该加入请求到该群组的创建者所在的用户终端;经过创建者认证和授权后,该用户被加入群组,其用户终端上的群列表中会显示所加入的群组,群组成员列表里包含刚刚加入的用户;同时,XDMS服务器通过SIP NOTIFY消息通知所加入群组的其他成员自动更新群组成员列表;
G.认证与授权,所述功能D和F,当对方拒绝邀请或拒绝加入,用户终端以SIP MESSAGE消息向IM服务器发出通知,告知无法通过被请求方的认证和授权,IM服务器中转该消息至用户终端,向请求方发出操作失败的提示。
在上述技术方案的基础上,所述管理功能A进一步包括以下功能:
A1.存储分组成员,为每个分组创建一个以分组ID命名的Resource Lists文档,并将好友列表中各个分组里的好友分别存储到这些分组文档中,各个文档中每个元素为好友的URI和显示名构成;
A2.存储分组列表,将所述步骤A1中的每个分组的地址URI和显示名作为一个元素存储到名为index的Resource Lists文档中,该地址URI指向A1中创建的各个分组文档在XDMS中的存储地址,index文档并不存储用户URI;
A3.存储群组和群组列表,与存储分组有相似之处,各个群组成员也是存储在以群组ID命名的Resource Lists文档中;不同的是,其群组列表是存储在名为grouplist的Group Usage List文档中,而不是Resource Lists文档;grouplist文档并不存储用户URI,其各个元素为群组地址URI和显示名构成。
在上述技术方案的基础上,所述管理功能B的具体实现包括以下步骤:
B1.获取分组列表,即获取名为index的Resource Lists文档,其中包含多个分组的URI、显示名和地址;
B2.获取分组成员,根据上一步骤B1获取的每个分组地址,逐一从名为分组URI的Resource Lists文档中获取分组成员;
B3.根据步骤B1和B2中的获得数据,组成一个新的、包含所有分组及成员的XML文档,IM客户端读取该文档并呈现在用户终端上;
B4.获取群组列表和成员并呈现,从Group Usage List文档中获取群组列表,再逐一从Resource Lists文档获取群组成员,形成综合的群组成员文档,并呈现在用户终端上。
本发明所述的基于XDMS的群组管理系统及方法,可满足用户方便快捷地对客户端的好友列表和群组进行管理,并能在多个不同用户终端上的客户端间共享好友列表和群组数据,增强用户体验。
附图说明
本发明有如下附图:
图1XML文档管理系统结构示意图;
图2基于XDMS的群组管理系统的总体架构图;
图3基于XDMS的群组管理方法中创建群组的消息流程图;
图4本发明的添加用户过程中的认证与授权的消息流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本发明公开了一种基于XDMS的群组管理系统,包括用户终端、XDMS和聚合代理、SIP服务器、IM服务器、Presence服务器;其总体架构如图2所示,包括用户终端、XDMS和聚合代理、SIP服务器、IM服务器、Presence服务器;用户终端包含IM客户端和XDMC,以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现好友和群组列表的管理;用户终端以SIP服务器为SIP信令接入点,通过SIP消息与Presence服务器交互实现用户状态的订阅、发布和通知,通过SIP消息与IM服务器交互实现即时消息的传递,通过SIP消息与XDMS交互实现文档变化的订阅与通知;Presence服务器和IM服务器分别以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现通过群组标识来获取群组成员列表。
如图2所示,用户终端UE包含IM客户端和XDMC,UE通过XCAP消息操作XDMS,实现好友和群组列表的管理。UE与XDMS、Presence服务器、IM服务器之间使用SIP消息交互;与UE交互的SIP消息都经过SIP服务器中转。SIP服务器与XDMS之间的SIP消息用于文档的订阅与通知,如UE订阅XDMS中好友资料文档的变化,当好友修改资料时,XDMS会即时通知UE。UE与Presence之间的SIP消息用于用户状态(如空闲、忙碌、离开)的订阅、发布和通知。UE与IM服务器之间的SIP消息用于即时消息的传递。Presence服务器和IM服务器与XDMS使用XCAP消息交互,主要是通过群组标识来获取群组成员列表,如订阅分组状态和群组聊天。
所述XDMS和聚合代理中,至少包括共享列表XDMS、共享资料XDMS、共享群组XDMS三个XDM服务器,XDMS根据用户的请求,处理特定的XML文档,并向客户端返回处理结果。在这里,聚合代理是作为XDM服务器的一部分和这些XDMS部署在一起的。
所述IM客户端,是用户使用的友好界面客户端,它可以存在于手机、PDA、PC或是其他用户终端上,是UE的一部分,它和XDMC一起构成所述系统的客户端。IM客户端接受用户输入,调用XCAP和SIP协议的接口,向相关服务器发送XCAP和SIP请求并接收响应,最后解析并显示接收到的消息,与所述系统的其他部分组成一个完整的即时通信、VOIP音视频相结合的系统。
在上述技术方案的基础上,本发明给出了一种基于XDMS的群组管理方法,以XDMS作为数据存储平台,实现对UE上好友列表的群组管理,包括以下管理功能:
A.存储用户列表,用户终端通过XCAP消息将用户终端上的好友列表和群组列表分别上传到XDMS上;
B.获取用户列表,所述用户列表包括获取好友列表和群组列表,用户登录到用户终端时,通过XCAP消息从XDMS上获取好友列表和群组列表,并分别呈现在用户终端上;
C.创建好友分组,用户终端通过XCAP消息创建不同的分组,再通过XCAP消息将好友列表上的好友分别添加到分组中,形成多个好友分组,一个好友不能被添加到多个分组中;
D.添加好友,用户终端通过SIP MESSAGE消息,发送添加某用户的请求到IM服务器,IM服务器将该邀请转发至该用户;经过该用户的认证和授权后,同意被添加的SIP MESSAGE消息经IM服务器返回,用户终端收到后再向XDMS发送XCAP消息,将该用户添加为好友并在好友列表内呈现该用户;
E.创建群组,用户通过用户终端,将群组资料和相关群组访问规则通过XCAP消息发送到XDMS服务器,创建一个群组;群组创建成功后,该群组便会显示在用户终端上,群组成员中默认包含创建该群组的用户且为该群组的管理员;
F.加入群组,当某个用户想加入一个群组时,用户终端通过SIP MESSAGE消息发送该群组的帐号URI到IM服务器,IM服务器通过SIP MESSAGE消息转发该加入请求到该群组的创建者所在的用户终端;经过创建者认证和授权后,该用户被加入群组,其用户终端上的群列表中会显示所加入的群组,群组成员列表里包含刚刚加入的用户;同时,XDMS服务器通过SIP NOTIFY消息通知所加入群组的其他成员自动更新群组成员列表;
G.认证与授权,所述功能D和F,当对方拒绝邀请或拒绝加入,用户终端以SIP MESSAGE消息向IM服务器发出通知,告知无法通过被请求方的认证和授权,IM服务器中转该消息至用户终端,向请求方发出操作失败的提示。
所述管理功能还包括上述管理功能的反向操作,如删除好友、删除分组、解散群组、退出群组等,这些反向操作均可采用现有技术实现,故此处不再详述。需要说明的是,只有该群组的创建者才有权限解散它。
在上述技术方案的基础上,所述管理功能A进一步包括:
A1.存储分组成员,为每个分组创建一个以分组ID命名的Resource Lists文档,并将好友列表中各个分组里的好友分别存储到这些分组文档中,各个文档中每个元素为好友的URI和显示名构成;
A2.存储分组列表,将所述步骤A1中的每个分组的地址URI和显示名作为一个元素存储到名为index的Resource Lists文档中,该地址URI指向A1中创建的各个分组文档在XDMS中的存储地址,index文档并不存储用户URI;
A3.存储群组和群组列表,与存储分组有相似之处,各个群组成员也是存储在以群组ID命名的Resource Lists文档中;不同的是,其群组列表是存储在名为grouplist的Group Usage List文档中,而不是Resource Lists文档;grouplist文档并不存储用户URI,其各个元素为群组地址URI和显示名构成。
在上述技术方案的基础上,所述管理功能B进一步包括:
B1.获取分组列表,即获取名为index的Resource Lists文档,其中包含多个分组的URI、显示名和地址;
B2.获取分组成员,根据上一步骤B1获取的每个分组地址,逐一从名为分组URI的Resource Lists文档中获取分组成员;
B3.根据步骤B1和B2中的获得数据,组成一个新的、包含所有分组及成员的XML文档,IM客户端读取该文档并呈现在UE上;
B4.获取群组列表和成员并呈现,从Group Usage List文档中获取群组列表,再逐一从Resource Lists文档获取群组成员,形成综合的群组成员文档,并呈现在UE上。
本发明的有益效果为:
本发明提供了一种基于XDMS的群组管理系统,实现了对用户终端上好友列表的管理,为用户对众多好友信息的管理变得方便快捷,这一点对于通信用户数量快速膨胀的现状来说尤为重要。
本发明提供了一种不同UE之间共享好友列表和群组信息的解决方案。用户的好友列表群组信息以XML文档的形式存储在XDMS上,任何UE上的客户端,只要经过认证和授权,都可以通过XCAP协议从XDMS上获取这些数据,这为在不同的UE之间进行好友列表和群组信息共享提供了一种可靠有效的解决方案。
本发明实现了一种基于XDMS的群组管理方法,将好友列表、群组成员和群组列表存储在Shared List XDMS上,将群组信息存储在Shared Group XDMS上。群组列表XML文档上存放各个群组的URI,并映射到相应群组成员和群组信息文档;不同类型UE上的客户端登录时,通过调用XCAP接口,会将该用户的好友列表文档和群组列表文档编码后发送给UE,UE上客户端的其他模块无需与XDMS交互,大大简化了程序的开发,高效而且安全性有保证。
以下结合附图及具体实施方式,对本发明进行进一步的详细说明。需要说明的是,此处所描述的具体实施方式仅仅用以解释本发明,并不用来限定本发明。
本发明提供了一种群组管理系统,用户经过成功注册后,可以通过客户端进行添加其他的注册用户,并可以对客户端上的好友列表进行分组管理;用户可以创建群组,还可以邀请其他用户加入群组,并可以对群组信息和群组成员进行维护和管理。下面就以本发明的实施例来详细说明。
首先来说明本发明中的好友列表的存储方式。
用户好友列表是存储在XDMS上的Resource Lists文档中的,其中每个分组是存储在以分组URI命名的文档中,如下是一个分组URI为ext_fh_cm的成员列表文档,其地址为:
http://fhims.com.cn:9082/resource-lists/users/sip:05030001008@10.90.5.111/ext_fh_cm
该文档的内容为:
    <?xml version=″1.0″encoding=″UTF-8″?>
    <resource-lists
xmlns=″urn:ietf:params:xml:ns:resource-lists″>
    <list name=″ext_fh_cm″>
    <display-name>我的同学</display-name>
    <entry uri=″sip:05030001001@10.90.5.111″>
    <display-name>Jane</display-name></entry>
    <entry uri=″sip:05030001002@10.90.5.111″>
    <display-name>Bob</display-name></entry>
    </list>
    </resource-lists>
该文档内容显示,用户sip:05030001008@10.90.5.111有一个以“我的同学”命名的好友分组,里面有两个成员,Jane和Bob。
而用户的分组列表是存储在名为index的Resource Lists文档中的,文档的每个分组都会通过external元素映射到其成员列表,其属性anchor值为成员列表文档的地址。index文档中每个external元素对应一个分组,但是其中不包含具体的用户URI;每个分组成员的用户URI是存储在以分组URI命名的成员列表文档中的。是如下为用户的好友列表文档的地址:
    http://fhims.com.cn:9082/resource-lists/users/sip:05030
001008@10.90.5.111/index
    该文档的内容为:
    <?xml version=″1.0″encoding=″UTF-8″?>
    <resource-lists
xmlns=″urn:ietf:params:xml:ns:resource-lists″>
    <list name=″oma_buddylist″>
    <external
anchor=″http://fhims.com.cn:9082/resource-lists/users/sip:0
5030001008@10.90.5.111/ext_fh_cm/~~/resource-lists/list%5B@
name=%22ext_fh_cm%22%5D″>
    <display-name>我的同学</display-name>
    </external>
    <external
anchor=″http://fhims.com.cn:9082/resource-lists/users/sip:0
5030001008@10.90.5.111/10001008/~~/resource-lists/list%5B@n
ame=%2210001008%22%5D″>
    <display-name>我的朋友</display-name>
    </external>
    </list>
    </resource-lists>
通过上述文档可以看出,该用户有两个好友分组,分别为“我的同学”和“我的朋友”,并通过其在XDMS上的地址映射到其对应的分组成员列表文档。
用户登录时,首先会获取到该分组列表文档index,然后根据其中的每个分组的地址,分别取出其成员,最后形成一分完整的好友列表文档,由IM客户端读取并解析,最后呈现给终端用户。群组列表的存储和获取与好友列表类似,不同的是其群组列表存储在GroupUsage List文档中。
图3是本发明的一个实施例的创建群组的消息流程图。
如图3所示,该流程的主要实体包括XDMC和Resource ListsXDMS、Group Usage List XDMS、Shared Group XDMS等特定功能的XDM服务器。XDMC与XDMS之间传递的是XCAP消息。需要说明的是,XDMC发送和接收的XCAP消息都要经过聚合代理,为了简化流程,图3中省略了聚合代理。其主要步骤如下:
步骤1,创建群组成员列表。创建一个群组,首先需要创建一份群组成员列表文档,存储在Resource Lists XDMS中,创建者Jane作为默认的群组成员,被包含在该群的成员列表中。XDMC发送的XCAP消息内容如下:
    PUT
/resource-lists/users/sip:05030001008@10.90.5.111/0001008
HTTP/1.1
    Host:fhims.com.cn:9082
    Content-Type:application/resource-lists+xml
    X-3GPP-Asserted-Identity:sip:05030001008@10.90.5.111
    User-Agent:XDM-client/OMA2.0
    Content-Length:260
    <?xml version=″1.0″encoding=″UTF-8″?>
    <resource-lists
xmlns=″urn:ietf:params:xml:ns:resource-lists″>
    <list name=″0001008″>
<display-name>我的同事</display-name>
<entry uri=″sip:05030001008@10.90.5.111″>
<display-name>Jane</display-name></entry>
</list>
</resource-lists>
上述消息中,消息头第一行为Request URI,包括XCAP方法“PUT”和文档选择器services/resource-lists/users/sip:05030001008@10.90.5.111/0001008,如果是定位到文档内部,还需要节点选择器。节点选择器与文档选择器之间以分隔符~~连接,后面会有该分隔符的应用。消息头还包括Host、User-Agent、Content-Length等,与HTTP协议类似,需要说明的是Content-Type头的内容是XCAP协议中特有的,X-Asserted-Identity头用于认证用户。
上述消息中,消息内容为XML文档,根节点为resource-lists,表明它是存储在Resource Lists XDMS中,list元素表明一个群组,群组标识name为“0001008”,显示名display-name为“我的同事”,默认包含一个成员entry为创建者sip:05030001008@10.90.5.111。
步骤2,Resource Lists XDMS响应,创建成功,表示步骤1中的XCAP PUT消息已得到处理,XML文档已成功上传到XDMS中。其响应消息内容如下:
HTTP/1.1201 Created
ETag:1232000068718
上述消息跟HTTP协议类似,其中ETag头的内容为该XML文档的版本号,如果文档被修改,该字段内容会被更新。
为了简化说明,下面的步骤中,与步骤1和步骤2类似的XCAP消息头会被省略。
步骤3,创建群组信息。XDMC根据用户输入的信息,构建XML文档,然后通过XCAP协议发送到Shared Group XDMS。其XCAP消息内容如下:
    PUT
    /org.openmobilealliance.groups/users/sip:05030001008@10
.90.5.111/0001008HTTP/1.1
    X-3GPP-Asserted-Identity:sip:05030001008@10.90.5.111
    Content-Type:application/vnd.oma.poc.groups+xml
    Content-Length:561
    <?xml version=″1.0″encoding=″UTF-8″?>
    <group xmlns=″urn:oma:xml:poc:list-service″
xmlns:oxe=″urn:oma:xml:xdm:extens ions″>
    <list-service uri=″sip:0001008@group.example.com″>
    <display-name>我的同事</display-name>
    <list>
    <external
anchor=″http://fhims.com.cn:9082/resource-lists/users/sip:0
503
    0001008@10.90.5.111/0001008/~~/resource-lists/list%5B@n
ame=%220001008%22%5D″/>
    </list>
    <invite-members>true</invite-members>
    <oxe:searchable>true</oxe:searchable>
    <oxe:subject>工作组</oxe:subject>
    </list-service>
    </group>
上述消息中,步骤1中创建的群组0001008的name在这里被封装成了URI,即sip:0001008@group.example.com;另外添加了一些群组的相关信息,如,是否可以邀请用户invite-members、是否允许被搜索searchable、群组主题subject等。该群组的成员存放在external元素映射到的、步骤1中创建的Resource Lists文档中。
步骤4,Shared Group XDMS向客户端返回409conflict,表明上述消息中的群组URI命名不合规范,或者在XDMS中该群组URI已经存在,需要重新构建;并在消息体中附带一个符合要求的URI供客户端选择。
步骤5,XDMC重新构建群组URI,再次发送XCAP PUT消息。
所述步骤4和步骤5,是一个可选的操作,如果该群组URI符合OMA XDM规范而且符合唯一性约束,则直接执行步骤6。
步骤6,群组信息文档创建成功,返回201Created。
步骤7,获取群组列表,判断该用户是否存在群组列表XML文档。如果存在,则添加一个元素,否则创建群组列表文档。XDMC发送的XCAP消息内容如下:
    GET
/org.openmobilealliance.group-usage-list/users/sip:05030001
008@10.90.5.111/grouplist HTTP/1.1
    X-3GPP-Asserted-Identity:sip:05030001008@10.90.5.111
    User-Agent:XDM-client/OMA2.0
    …
步骤8,Group Usage List XDMS收到XDMC的请求,响应消息如下:
    HTTP/1.1200 OK
    Content-Type:application/vnd.oma.group-usage-list+xml;
charset=utf-8
    Content-Length:381
    ETag:1231242056337
    <?xml version=″1.0″encoding=″UTF-8″?>
    <resource-lists
xmlns=″urn:ietf:params:xml:ns:resource-lists″>
    <list name=″bookmarkedGroups″>
    <entry uri=″0001006″>
    <display-name>我的同学</display-name>
    <external
anchor=″http://fhims.com.cn:9082/resource-lists/users/sip:0
5030001006@10.90.5.111/0001006/~~/resource-lists/list5B%@na
me=22%000100622%5D%″/>
    </entry>
    </list>
    </resource-lists>
上述消息中,返回码为200 OK,表明该用户已经存在群组列表文档grouplist,而且他已经加入了一个名为0001006的群组。所以,下一步只需添加一个entry元素,以标识一个新的群组,并通过external元素映射到该群成员列表文档。
所述步骤8还有一个可选流程,如图3中所示的“404 Not Found”,表明该用户还没有群组列表文档,下一步需要创建Group Usage List文档,并包含刚刚创建的群组。
步骤9,添加新创建的群组到用户群组列表grouplist,即添加一个entry元素。如果步骤8返回的是404 Not Found,则创建该文档。XDMC发送的XCAP内容为:
    PUT
/org.openmobilealliance.group-usage-list/users/sip:05030001
008@10.90.5.111/grouplist/~~/resource-lists/list%5b@name=%2
2bookmarkedGroups%22%5d/entry%5b@uri=%220001008%22%5d
HTTP/1.1
    Content-Type:application/xcap-el+xml
    X-3GPP-Asserted-Identity:sip:05030001008@10.90.5.111
    Content-Length:231
    <entry uri=″0001008″>
    <display-name>我的同事</display-name>
    <external
anchor=″http://fhims.com.cn:9082/resource-lists/users/sip:0
5030001008@10.90.5.111/0001008/~~/resource-lists/list%5B@na
me=%220001008%22%5D″/>
    </entry>
步骤10,Group Usage List XDMS返回201 Created,表明创建成功,创建群组流程结束。
用户终端的群组列表上会出现该群组“我的同事”,成员列表中包含创建者。用户可以执行对群组信息及成员的后续操作。
图4是本发明的一个实施例的认证与授权的消息流程图。
如图4所示,用户Jim想要添加Daisy为好友,其中,Jim的账号为sip:05030001001@10.90.5.111,Daisy的账号为sip:05030001002@10.90.5.111。于是Jim的用户终端UE1向服务器发出邀请,发送的MESSAGE消息内容如下:
MESSAGE sip:05030001002@10.90.5.111 SIP/2.0
Max-Forwards:70
From:sip:05030001001@10.90.5.111;tag=49583
To:sip:05030001002@10.90.5.111
Call-ID:asd88asd77a@1.2.3.4
CSeq:1MESSAGE
Content-Type:message/friend-invite
Content-Length:…
<friend-invite>
  <user-displayname>Jim</user-displayname>
  <user-uri>sip:05030001001@10.90.5.111</user-uri>
</friend-invite>
消息中的消息体类型为自定义的MESSAGE的扩展类型,包含内容的发起邀请的用户的显示名和账号。MESSAGE消息经过SIP服务器和IM服务器的转发,传递到Daisy的终端UE2。如图4所示。注意,图4中省略了SIP服务器。UE2收到消息后以SIP 200 OK响应。
如果Daisy同意Jim的请求,则执行XCAP PUT请求,将其添加到自己的好友列表中。添加成功后,Daisy向Jim发送响应的MEASSAGE消息,消息内容如下:
    MESSAGE sip:05030001001@10.90.5.111 SIP/2.0
    Max-Forwards:70
    From:sip05030001002@10.90.5.111;tag=98786
    To:sip:05030001001@10.90.5.111
    Call-ID:asd89asd77cc@1.2.3.4
    CSeq:1MESSAGE
    Content-Type:message/friend-invite-notify
    Content-Length:…
    <friend-invite-notify>
<invite-user-displayname>Daisy</invite-user-displayname>
     <invite-user>sip:05030001002@10.90.5.111</invite-user
>
      <option>yes</option>
    </friend-invite-notify>
响应消息中包含了Daisy的账号和显示名,并包含其意愿的option元素,yes表示同意,no表示拒绝。UE1收到Daisy同意消息后,执行XCAP操作,将其添加到好友列表,流程结束。
图4还有一个可选流程,如果Daisy拒绝Jim的请求,则无需执行XCAP操作,直接发送包含option元素值为no的MEASSAGE响应消息,Jim的UE1收到消息后不能执行XCAP PUT的添加操作。
对于用户加入群组或者群组创建者邀请用户加入的流程,与图4类似,只是MESSAGE消息体的内容稍有不同,请求的消息体中多了群组标识GroupID,而响应的消息体中则为群组显示名group-displayname和群组标识GroupID及意愿option。而且,如图4所示的流程结束后,群组其他成员的UE会收到来自XDMS的、该成员列表文档变化的NOTIFY消息,其消息体中会包含该文档的版本号ETag、地址URI以及变化的内容。

Claims (4)

1.一种基于XDMS的群组管理系统,其特征在于:包括用户终端、XDMS和聚合代理、SIP服务器、IM服务器、Presence服务器;
用户终端包含IM客户端和XDMC,以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现好友和群组列表的管理;
用户终端以SIP服务器为SIP信令接入点,通过SIP消息与Presence服务器交互实现用户状态的订阅、发布和通知,通过SIP消息与IM服务器交互实现即时消息的传递,通过SIP消息与XDMS交互实现文档变化的订阅与通知;
Presence服务器和IM服务器分别以聚合代理为XCAP信令接入点,通过XCAP消息与XDMS交互实现通过群组标识来获取群组成员列表。
2.一种基于权利要求1所述系统的基于XDMS的群组管理方法,其特征在于包括以下管理功能:
A.存储用户列表,用户终端通过XCAP消息将用户终端上的好友列表和群组列表分别上传到XDMS上;
B.获取用户列表,所述用户列表包括获取好友列表和群组列表,用户登录到用户终端时,通过XCAP消息从XDMS上获取好友列表和群组列表,并分别呈现在用户终端上;
C.创建好友分组,用户终端通过XCAP消息创建不同的分组,再通过XCAP消息将好友列表上的好友分别添加到分组中,形成多个好友分组,一个好友不能被添加到多个分组中;
D.添加好友,用户终端通过SIP MESSAGE消息,发送添加某用户的请求到IM服务器,IM服务器将该邀请转发至该用户;经过该用户的认证和授权后,同意被添加的SIP MESSAGE消息经IM服务器返回,用户终端收到后再向XDMS发送XCAP消息,将该用户添加为好友并在好友列表内呈现该用户;
E.创建群组,用户通过用户终端,将群组资料和相关群组访问规则通过XCAP消息发送到XDMS服务器,创建一个群组;群组创建成功后,该群组便会显示在用户终端上,群组成员中默认包含创建该群组的用户且为该群组的管理员;
F.加入群组,当某个用户想加入一个群组时,用户终端通过SIP MESSAGE消息发送该群组的帐号URI到IM服务器,IM服务器通过SIP MESSAGE消息转发该加入请求到该群组的创建者所在的用户终端;经过创建者认证和授权后,该用户被加入群组,其用户终端上的群列表中会显示所加入的群组,群组成员列表里包含刚刚加入的用户;同时,XDMS服务器通过SIP NOTIFY消息通知所加入群组的其他成员自动更新群组成员列表;
G.认证与授权,所述功能D和F,当对方拒绝邀请或拒绝加入,用户终端以SIP MESSAGE消息向IM服务器发出通知,告知无法通过被请求方的认证和授权,IM服务器中转该消息至用户终端,向请求方发出操作失败的提示。
3.如权利要求2所述的基于XDMS的群组管理方法,其特征在于所述管理功能A进一步包括以下功能:
A1.存储分组成员,为每个分组创建一个以分组ID命名的Resource Lists文档,并将好友列表中各个分组里的好友分别存储到这些分组文档中,各个文档中每个元素为好友的URI和显示名构成;
A2.存储分组列表,将所述步骤A1中的每个分组的地址URI和显示名作为一个元素存储到名为index的Resource Lists文档中,该地址URI指向A1中创建的各个分组文档在XDMS中的存储地址,index文档并不存储用户URI;
A3.存储群组和群组列表,与存储分组有相似之处,各个群组成员也是存储在以群组ID命名的Resource Lists文档中;不同的是,其群组列表是存储在名为grouplist的Group Usage List文档中,而不是Resource Lists文档;grouplist文档并不存储用户URI,其各个元素为群组地址URI和显示名构成。
4.如权利要求3所述的XDMS的基于XDMS的群组管理方法,其特征在于所述管理功能B的具体实现包括以下步骤:
B1.获取分组列表,即获取名为index的Resource Lists文档,其中包含多个分组的URI、显示名和地址;
B2.获取分组成员,根据上一步骤B1获取的每个分组地址,逐一从名为分组URI的Resource Lists文档中获取分组成员;
B3.根据步骤B1和B2中的获得数据,组成一个新的、包含所有分组及成员的XML文档,IM客户端读取该文档并呈现在用户终端上;
B4.获取群组列表和成员并呈现,从Group Usage List文档中获取群组列表,再逐一从Resource Lists文档获取群组成员,形成综合的群组成员文档,并呈现在用户终端上。
CN2009102500241A 2009-12-02 2009-12-02 一种基于xdms的群组管理系统及方法 Expired - Fee Related CN101714170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102500241A CN101714170B (zh) 2009-12-02 2009-12-02 一种基于xdms的群组管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102500241A CN101714170B (zh) 2009-12-02 2009-12-02 一种基于xdms的群组管理系统及方法

Publications (2)

Publication Number Publication Date
CN101714170A true CN101714170A (zh) 2010-05-26
CN101714170B CN101714170B (zh) 2012-01-04

Family

ID=42417816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102500241A Expired - Fee Related CN101714170B (zh) 2009-12-02 2009-12-02 一种基于xdms的群组管理系统及方法

Country Status (1)

Country Link
CN (1) CN101714170B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065099A (zh) * 2010-12-28 2011-05-18 北京神州泰岳软件股份有限公司 信令与承载分离的通信系统
CN102256212A (zh) * 2011-07-19 2011-11-23 李四保 建立并使用通讯群组的方法
CN102299810A (zh) * 2011-09-29 2011-12-28 北京新媒传信科技有限公司 群组变更事件的通知方法和系统
CN102387093A (zh) * 2011-10-06 2012-03-21 吴东辉 一种即时通讯好友和群组分享的方法和系统
CN102902674A (zh) * 2011-07-26 2013-01-30 腾讯科技(深圳)有限公司 服务群组分类方法和系统
CN103548317A (zh) * 2011-05-06 2014-01-29 国际商业机器公司 管理会话发起协议订阅对话状态丢失
CN104079473A (zh) * 2014-05-29 2014-10-01 小米科技有限责任公司 信息发布方法及装置
CN104639342A (zh) * 2013-11-12 2015-05-20 中兴通讯股份有限公司 好友分组权限通知方法及系统、客户端及服务器
CN104901963A (zh) * 2015-05-28 2015-09-09 小米科技有限责任公司 代理验证方法及装置
CN107005539A (zh) * 2015-09-30 2017-08-01 华为技术有限公司 设置mcptt群组的方法、设备及系统
CN107979522A (zh) * 2016-10-25 2018-05-01 中兴通讯股份有限公司 保存群聊信息到网络地址本的方法及系统
WO2019109347A1 (zh) * 2017-12-08 2019-06-13 深圳迈瑞生物医疗电子股份有限公司 数据处理方法及装置
CN111414488A (zh) * 2020-03-26 2020-07-14 北京字节跳动网络技术有限公司 在线协同知识库的信息管理方法、装置、存储介质及设备
TWI806125B (zh) * 2021-08-10 2023-06-21 李揚 一種資料共享管理系統及其方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100563196C (zh) * 2005-11-25 2009-11-25 华为技术有限公司 通信系统和在通信系统中查询信息的方法
CN1984129B (zh) * 2005-12-13 2011-01-05 中兴通讯股份有限公司 一种用sip协议实现呈现和即时消息业务的系统及其方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065099B (zh) * 2010-12-28 2013-07-24 北京神州泰岳软件股份有限公司 信令与承载分离的通信系统
CN102065099A (zh) * 2010-12-28 2011-05-18 北京神州泰岳软件股份有限公司 信令与承载分离的通信系统
CN103548317B (zh) * 2011-05-06 2016-11-23 国际商业机器公司 管理会话发起协议订阅对话状态丢失的方法及装置
CN103548317A (zh) * 2011-05-06 2014-01-29 国际商业机器公司 管理会话发起协议订阅对话状态丢失
US10104131B2 (en) 2011-05-06 2018-10-16 International Business Machines Corporation Managing session initiation protocol subscription dialog state loss
CN102256212A (zh) * 2011-07-19 2011-11-23 李四保 建立并使用通讯群组的方法
CN102902674B (zh) * 2011-07-26 2017-09-26 腾讯科技(深圳)有限公司 服务群组分类方法和系统
CN102902674A (zh) * 2011-07-26 2013-01-30 腾讯科技(深圳)有限公司 服务群组分类方法和系统
CN102299810A (zh) * 2011-09-29 2011-12-28 北京新媒传信科技有限公司 群组变更事件的通知方法和系统
CN102299810B (zh) * 2011-09-29 2014-07-09 北京新媒传信科技有限公司 群组变更事件的通知方法和系统
CN102387093A (zh) * 2011-10-06 2012-03-21 吴东辉 一种即时通讯好友和群组分享的方法和系统
CN104639342A (zh) * 2013-11-12 2015-05-20 中兴通讯股份有限公司 好友分组权限通知方法及系统、客户端及服务器
WO2015070565A1 (zh) * 2013-11-12 2015-05-21 中兴通讯股份有限公司 好友分组权限通知方法及系统、客户端及服务器
CN104079473A (zh) * 2014-05-29 2014-10-01 小米科技有限责任公司 信息发布方法及装置
CN104901963B (zh) * 2015-05-28 2018-12-25 小米科技有限责任公司 代理验证方法及装置
CN104901963A (zh) * 2015-05-28 2015-09-09 小米科技有限责任公司 代理验证方法及装置
US11510030B2 (en) 2015-09-30 2022-11-22 Huawei Technologies Co., Ltd. Method for setting MCPTT group, device, and system
CN107005539B (zh) * 2015-09-30 2020-09-18 华为技术有限公司 设置mcptt群组的方法、设备及系统
US10834541B2 (en) 2015-09-30 2020-11-10 Huawei Technologies Co., Ltd. Method for setting MCPTT group, device, and system
CN107005539A (zh) * 2015-09-30 2017-08-01 华为技术有限公司 设置mcptt群组的方法、设备及系统
CN107979522A (zh) * 2016-10-25 2018-05-01 中兴通讯股份有限公司 保存群聊信息到网络地址本的方法及系统
WO2018077188A1 (zh) * 2016-10-25 2018-05-03 中兴通讯股份有限公司 保存群聊信息到网络地址本的方法及系统
WO2019109347A1 (zh) * 2017-12-08 2019-06-13 深圳迈瑞生物医疗电子股份有限公司 数据处理方法及装置
CN111414488A (zh) * 2020-03-26 2020-07-14 北京字节跳动网络技术有限公司 在线协同知识库的信息管理方法、装置、存储介质及设备
CN111414488B (zh) * 2020-03-26 2023-05-02 北京字节跳动网络技术有限公司 在线协同知识库的信息管理方法、装置、存储介质及设备
TWI806125B (zh) * 2021-08-10 2023-06-21 李揚 一種資料共享管理系統及其方法

Also Published As

Publication number Publication date
CN101714170B (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
CN101714170B (zh) 一种基于xdms的群组管理系统及方法
KR101635906B1 (ko) 통신 이력 제공 방법
CN101212719B (zh) 一种无线通信网络中实现融合消息业务的方法及系统
US9204264B2 (en) Exchange of messages and sessions
CN100499598C (zh) 即时消息用户使用其它即时消息系统聊天室的方法及系统
CN101155049B (zh) 一种消息系统中会话历史处理方法及消息系统
US20120324009A1 (en) Apparatus and method for providing contacts through interworking between messaging service and social network service
US20070011235A1 (en) Multi-user services in a communications system
RU2477014C2 (ru) Способ группового оповещения в службе обмена сообщениями на основе протокола инициации сеанса связи &#34;sip&#34;
CA3009851C (en) Managing multiple profiles for a single account in an asynchronous messaging system
KR20100057096A (ko) 액티브 프로파일 선택
WO2007079645A1 (fr) Procédé et système de notification mettant en oeuvre un message de blocage de messagerie instantanée
CN104753877A (zh) 一种群组通信方法及装置
US20150149552A1 (en) Method and apparatus for establishing a social relationship in a social service providing system
CN103988468B (zh) 用于邀请订阅联系人信息的装置和方法
WO2009012724A1 (fr) Procédé et dispositif permettant une interconnexion de communication
CN102137107A (zh) 一种实现机顶盒订阅用户状态的方法及系统
Serik et al. Instant messaging application for Smartphone
KR20090087791A (ko) 비통합메시징 서비스와 인터워킹하기 위한 통합메시징서비스 제공 시스템 및 방법
CN101854597B (zh) 大消息模式融合ip消息传输方法及系统
KR101872551B1 (ko) 범용 플러그 앤 플레이 홈 네트워크 환경에서 강화된 이벤트 통지를 제공하는 방법 및 장치
CN101754428A (zh) 基于sip的即时通讯系统中的添加好友的实现方法
KR100784225B1 (ko) 프리즌스 시스템에서의 폰북 어드레스(pba) 기반의서비스 제공 방법 및 그 시스템
Nah et al. Architecture for extensible mobile instant messaging and presence service over IMS
Bennett et al. Integrating Presence with Multi-Media Communications

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

Termination date: 20201202