实现PoC群组发起会话时选择会话成员的方法

文档序号:7954736阅读:228来源:国知局
专利名称:实现PoC群组发起会话时选择会话成员的方法
技术领域
本发明属于基于蜂窝网络的集群通信领域,尤其涉及一种实现PoC(Push-to-talk over Cellular,“无线一键通”)群组发起会话时选择会话成员的方法。
背景技术
PoC即基于蜂窝网络的“即按即讲”业务,也叫“无线一键通”,是一种允许用户通过特定按键进行立即通信的半双工语音业务。
PoC支持多方通话,用户可以通过临时群组、固定群组、聊天群组等方式进行多方通话。
PoC群组的数据是保存在PoC XDMS(XML Document ManagementServer,XML文档管理服务器)上的,用户可以通过终端(XDMC,XMLDocument Management Client,XML文档管理客户端)发送相关请求进行群组管理,该请求将通过AP(Aggregation Proxy,聚合代理)鉴权(确定该用户是否拥有相应的管理权限)后发送给PoC XDMS。当然,如果用户Portal提供了相关群组管理的功能,用户就可以通过Portal直接发送相关请求到PoCXDMS进行群组管理。
在PoC1.0版本的《OMA-TS-PoC_XDM-V1_0-20050317-C》规范标准中,对群组提供了一个属性<invite-members>。当<invite-members>这一属性设置为
①True则当该群组的会话发起时会邀请群组其他成员;②Flase则当该群组的会话发起时不会邀请群组其他成员。
这一属性对用户是可操作的,即用户可以根据需要设置是否在发起群组会话时邀请其群组成员。当然对于固定群组,一般会设置在会话发起时邀请群组所有成员。
其次在群组规则<ruleset>的子节点<rule>里面有两个元素<conditions>和<actions>。其中<conditions>用于指明拥有相应<actions>权限的用户标识;而<actions>则包括了一种布尔类型的元素<allow-initiate-conference>,当其为true时则表示相应的<conditions>中所指明的用户具有发起群组会话的权限。
相应的处理流程如图1所示先检查用户有无<allow-initiate-conference>权限,如无则拒绝用户发起呼叫,如有则继续检查<invite-members>值是否为true;当<invite-members>值是为true时则会邀请群组所有成员加入会话,如为false时则不会邀请任何用户加入会话。
但是,这种方案存在着以下缺陷(1)对于用户来说,并不是只希望邀请或不邀请群组所有成员,而可能会要求邀请部分成员参加,而这样的话,现有技术是无法满足用户的需求的。
(2)另外,用户也可能不仅仅只是想邀请群组成员参加会话,用户有时还希望邀请其他人员参加会话,而用户只能在发起固定群组会话后才进行邀请,则用户预先邀请的需求无法得到满足。
(3)运营商为了降低系统负荷等原因,对固定群组的会话最大人数做了限制。这一限制的目的在于防止用户在每场会话中有过多的参与人数。因此在会话中加上了下面这个属性<max-participant-count>(会话最大参与人数)。显然,如果在实际当中,用户的群组成员数大于<max-participant-count>值时,则会出现严重的问题用户将<invite-members>设置为true时,由于群组成员人数大于会话最大参与人数,则服务器会拒绝发起会话的请求;即用户无法发起固定群组会话。这显然降低了用户体验。
在PoC1.0版本的《OMA-ERELD_POC-V1_0-20050329-C》规范标准中,也定义了一种会话类型Ad-hoc会话,也就是临时群组会话。它支持用户临时地设置一些被邀请者列表,并邀请他们参与会话。显然用户可以根据需要灵活地设置被邀请者列表,在这点上比固定群组要灵活得多。
然而这种方案依然有不足,例如(1)然而临时群组要求每次都进行设置,显然这对用户来说是一个繁琐的过程,在这方面显然没有固定群组来得方便。
(2)用户不能对临时群组成员设置任何固定群组成员相关的属性,如是否能够邀请其他人参加会话、是否能够匿名等等的,在这方面显然没有固定群组功能的强大。

发明内容
本发明要解决的技术问题是克服上述现有技术存在的不足,提供一种实现PoC群组发起会话时选择会话成员的方法,支持用户灵活地邀请成员参与群组会话,使用户在发起群组会话时能够方便地邀请一些所需要的成员加入会话。
本发明提供一种实现PoC群组发起会话时选择会话成员的方法,包括以下步骤a.设置用户数据;
b.用户发起PoC群组会话;c.如果所述用户具有选择会话成员的权限,则执行步骤d;d.根据预定义的成员列表选择会话成员;以及e.返回呼叫成功的响应给所述用户。
进一步地,所述步骤a进一步包括h1.请求添加具有选择会话成员权限的用户,并设置所述权限;h2.请求设置是否在发起PoC群组会话时按预定义的成员列表进行选择的判断条件;以及h3.请求设置发起PoC群组会话时所要选择的成员列表。
进一步地,所述步骤h1进一步包括h11.在PoC XML文档管理客户端上发送HTTP请求,对PoC群组添加具有选择会话成员权限的用户;h12.聚合代理检查发出所述请求的用户是否具备相应的权限,如有则转送所述请求到PoC XML文档管理服务器;h13.PoC XML文档管理服务器接收到所述请求后,对添加用户设置具有选择会话成员的权限;h14.PoC XML文档管理服务器处理完成后,返回成功响应到所述聚合代理;以及h15.所述聚合代理转发成功响应到所述PoC XML文档管理客户端。
进一步地,所述步骤h2进一步包括h21.在PoC XML文档管理客户端上发送HTTP请求,请求设置在发起PoC群组会话时按预定义的成员列表进行选择的判断条件;
h22.聚合代理检查发出所述请求的用户是否具备相应的权限,如有则转送所述请求到PoC XML文档管理服务器;h23.PoC XML文档管理服务器接收到所述请求后,设置在发起PoC群组会话时按预定义的成员列表进行选择;h24.PoC XML文档管理服务器处理完成后,返回成功响应到所述聚合代理;以及h25.所述聚合代理转发成功响应到所述PoC XML文档管理客户端。
进一步地,所述步骤h3进一步包括h31.具有选择会话成员的权限的用户在PoC XML文档管理客户端上发送HTTP请求,请求设置发起群组会话所要选择的成员列表;h32.聚合代理检查发出所述请求的用户是否具备相应的权限,如有则转送所述请求到PoC XML文档管理服务器;h33.PoC XML文档管理服务器接收到所述请求后,设置发起群组会话时所要选择的成员列表;h34.PoC XML文档管理服务器处理完成后,返回成功响应到所述聚合代理;以及h35.所述聚合代理转发成功响应到所述PoC XML文档管理客户端。
进一步地,所述步骤b进一步包括b1.用户发起PoC群组会话请求给PoC服务器,所述请求包括了群组统一资源标识符;b2.所述PoC服务器根据所述请求的群组统一资源标识符,发送请求到PoC XML文档管理服务器请求与所述群组统一资源标识符相对应的数据;以及b3.PoC XML文档管理服务器根据所述请求返回所述群组的数据。
进一步地,如果所述步骤c中PoC服务器检查所述用户不具有选择会话会话成员的权限,则进入c1.PoC服务器检查所述用户有无发起群组会话的权限,如无,则拒绝所述用户发起群组会话,如有,则进入步骤c2;以及c2.PoC服务器检查是否邀请群组所有成员加入会话,如是,则邀请群组所有成员加入会话,如不是,则不邀请任何成员加入会话。
进一步地,如果所述步骤d中PoC服务器检查发起PoC群组会话时不是按预定义的成员列表进行邀请,则进入d1.PoC服务器检查是否邀请群组所有成员加入会话,如是,则邀请群组所有成员加入会话,如不是,不邀请任何成员加入会话。
进一步地,还包括步骤f.检查是否有所述用户的标识以及添加的所要求选择的成员列表。
进一步地,如果没有所述用户的标识及添加的所要求邀请的成员列表,则不邀请任何成员加入会话。
由于本发明实现PoC群组发起会话时选择会话成员的方法在很大程度上使PoC群组的呼叫机制得到了扩展,灵活性更强,而同时在服务器端进行基于上述方案的数据管理并不复杂,所以方案具有可行性。如果应用本方案,将会带来以下有益的效果(1)满足用户需求、方便用户使用、提高用户体验由于采用选择会话的方法,所以用户可以根据需要邀请其所需要邀请的用户;在使用上也非常方便,既兼有固定群组的优点、也具有临时群组的优点;能够很大程度上满足用户在不同情况下的使用要求,提高用户的体验。
(2)解决了由于群组人数大于系统所规定的会话最大人数时不能在发起会话时邀请成员的问题。因为用户可以在用户列表中添加一些成员,并保证其人数不大于系统所规定的会话最大人数,使得用户可以比较方便地发起群组会话。
(3)本发明兼容现有的方案,能够实现现有方案的所有要求。例如,PoC服务器检查所述用户不具有选择会话成员的权限时,就会按照现有的方案进行处理;而PoC服务器检查发起PoC群组会话时不是按预定义的成员列表进行邀请,则会继续检查是否邀请群组所有成员加入会话,并按照现有的方案进行处理。


图1是现有发起PoC群组会话时邀请成员的方法的流程图;图2是本发明中数据准备流程图;图3是本发明中用户呼叫管理流程图;图4是针对图3中正常及异常情况处理的流程图。
具体实施例方式
在PoC1.0版本的《OMA-TS-PoC_XDM-V1_0-20050317-C》规范标准中,定义了PoC群组的基本结构。为完成本发明所述的功能,在PoC群组的结构上增加了以下内容(1)在群组根元素下增加一个子元素<pre-invite-listset>。该子元素为[COMMONPOL]类型,包括了零个或多个<pre-invite-list>节点,而<pre-invite-list>节点又包括<createlistuseridentity>和<userlist>节点。<createlistuseridentity>值用于标识该列表创建者的身份;而<userlist>则包含了零个或多个元素,每一个元素用于标识被邀请者身份的<entry>子元素或用于标识引用的被邀请者列表的<external>元素。
(2)在群组根元素下增加一个子元素<pre-inviteuser>。其类型为布尔类型true或false。当为true时,表示在会话发起时会邀请用户所要求邀请的成员;而当false时,则表示在会话发起时不会邀请用户所要求邀请的成员。
(3)在<rule>元素的子元素<actions>增加一种新的元素<pre-invite>,类型为布尔型,用于指明哪些用户拥有在本固定群组发起会话时邀请成员的权限。当其值为true时表明拥有此权限,这时用户可以在<pre-invite-list>元素的子元素<userlist>中添加其所要邀请的成员,也就可以在固定群组发起会话时灵活地邀请所需要的成员;而当其值为false时则表明无此权限。需要说明的是,拥有此权限的用户同时会拥有发起同定群组会话的权限。
请参照图2所示,本发明实现PoC群组发起会话时选择会话成员的数据准备流程包括以下步骤步骤1群组创建者或其他有权限的用户在终端(XDMC)上发送HTTP请求,对某个群组添加具有pre-invite权限的用户。例如请求赋予用户A、用户B具备选择会话成员的权限pre-invite。
步骤2AP检查发出该请求的用户是否具备相应的权限,如有则转送请求到PoC XDMS。
步骤3PoC XDMS接收到相应请求后,就对指定群组的数据增加一个<rule>节点,并选择<actions>的子元素<pre-invite>为true,并在<conditions>节点的<identity>子元素中增加所要求的能够选择会话成员的成员标识。例如对群组中的两个成员(用户A和用户B)设置拥有此权限,表示如下<cr:ruleset>
……<cr:rule id=”a10c”>
<cr:condition>
<identity>UserA@XDMSServer.com</identity>
<identity>UserB@XDMSServer.com</identity>
</cr:condition>
<cr:actions>
<pre-invite>true</pre-invite>
</cr:actions>
</cr:rule>
<cr:ruleset>
步骤4PoC XDMS处理完成后,返回成功响应到AP。
步骤5AP转发成功响应到终端(XDMC)。
步骤6群组创建者或其他有权限的用户在终端(XDMC)上发送HTTP请求,请求设置是否在发起PoC群组会话时将按预定义的成员列表进行选择的判断条件,即是否设置<pre-inviteuser>为true。
步骤7AP检查发出该请求的用户是否具备相应的权限,如有则转送请求到PoC XDMS。
步骤8PoC XDMS接收到相应请求后,设置<pre-inviteuser>值为true。此时不管<invite-members>是否为true,都不会按自动邀请群组所有成员参加会话。
步骤9PoC XDMS处理完成后,返回成功响应到AP。
步骤10AP转发成功响应到终端(XDMC)。
步骤11具有选择会话成员的权限(pre-invite)的用户在终端(XDMC)上发送HTTP请求,请求设置发起固定群组会话所要邀请的成员列表,例如用户B、用户C、用户D、用户E、用户F、用户G、用户H。
步骤12AP检查发出该请求的用户是否具备pre-invite的权限,如有则转送请求到PoC XDMS。
步骤13PoC XDMS接收到相应请求后,将在<pre-invite-listset>中添加一个新节点<pre-invite-list>,设置<createlistuseridentity>为发出请求的用户标识,将在<userlist>中添加所要求邀请的成员列表。例如,发出请求为用户A,发起固定群组会话所要邀请的成员列表为用户B、用户C、用户D、用户E、用户F、用户G、用户H,则相应的数据表示如下<pre-invite-listset>
……<pre-invite-list>
<createlistuseridentity>UserA@XDMSServer.com</createlistuseridentity>
<userlist>
<entry>UserB@XDMSServer.com</entry>
<entry>UserC@XDMSServer.com</entry>
<entry>UserD@XDMSServer.com</entry>
<entry>UserE@XDMSServer.com</entry>
<entry>UserF@XDMSServer.com</entry>
<entry>UserG@XDMSServer.com</entry>
<entry>UserH@XDMSServer.com</entry>
</userlist>
</pre-invite-list>
<pre-invite-listset>
步骤14PoC XDMS处理完成后,返回成功响应到AP。
步骤15AP转发成功响应到终端(XDMC)。
请参照图3所示,数据准备完毕之后,本发明的用户呼叫管理流程包括以下步骤步骤S1用户发起PoC群组会话请求给PoC Server,该请求包括了群组统一资源标识符(URI)。
步骤S2PoC Server会根据该请求的群组URI,发送请求到PoC XDMS请求取群组URI的数据。
步骤S3PoC XDMS将根据PoC Server的请求返回相应群组的数据。
步骤S4、步骤S5、步骤S6PoC Server根据该群组的数据就可以检查该用户是否具备pre-invite权限、<pre-inviteuser>值是否为true、是否有节点<pre-invite-list>是该用户的。如上述检查均通过则进入步骤S7。步骤S4、步骤S5、步骤S6的正常和异常处理过程详细如图4及其说明。
步骤S7服务器根据<userlist>中的列表邀请成员,当有成员返回接受会话的响应后则可以说明邀请成功。
步骤S8服务器返回呼叫成功响应给用户。
图4所示流程如下流程(1)当用户发起群组呼叫时,PoC服务器会首先检查用户是否有<pre-invite>权限。如有则会继续检查<pre-inviteuser>值,进入“流程(2)”。否则会按原有的设计流程先检查用户有无<allow-initiate-conference>权限,如无则拒绝用户发起呼叫,如有则继续检查<invite-members>值是否为true;当<invite-members>值是为true时则会邀请群组所有成员加入会话,如为false时则不会邀请任何成员加入会话;流程(2)服务器继续检查<pre-inviteuser>值是否true。当为true时,服务器继续检查是否有节点<pre-invite-list>是该用户,进入“流程(3)”。否则,服务器检查<invite-members>值是否为true当<invite-members>值是为true时则会邀请群组所有成员加入会话,如为false时则不会邀请任何成员加入会话;
流程(3)服务器继续检查是否有节点<pre-invite-list>是该用户。如有时则会邀请<userlist>中所列出的各个成员;否则服务器不邀请任何成员加入会话。
权利要求
1.一种实现PoC群组发起会话时选择会话成员的方法,包括以下步骤a.设置用户数据;b.用户发起PoC群组会话;c.如果所述用户具有选择会话成员的权限,则执行步骤d;d.根据预定义的成员列表选择会话成员;以及e.返回呼叫成功的响应给所述用户。
2.根据权利要求1所述的方法,其特征在于所述步骤a进一步包括h1.请求添加具有选择会话成员权限的用户,并设置所述权限;h2.请求设置是否在发起PoC群组会话时按预定义的成员列表进行选择的判断条件;以及h3.请求设置发起PoC群组会话时所要选择的成员列表。
3.根据权利要求2所述的方法,其特征在于,所述步骤h1进一步包括h11.在PoC XML文档管理客户端上发送HTTP请求,对PoC群组添加具有选择会话成员权限的用户;h12.聚合代理检查发出所述请求的用户是否具备相应的权限,如有则转送所述请求到PoC XML文档管理服务器;h13.PoC XML文档管理服务器接收到所述请求后,对添加用户设置具有选择会话成员的权限;h14.PoC XML文档管理服务器处理完成后,返回成功响应到所述聚合代理;以及h15.所述聚合代理转发成功响应到所述PoC XML文档管理客户端。
4.根据权利要求2所述的方法,其特征在于,所述步骤h2进一步包括h21.在PoC XML文档管理客户端上发送HTTP请求,请求设置在发起PoC群组会话时按预定义的成员列表进行选择的判断条件;h22.聚合代理检查发出所述请求的用户是否具备相应的权限,如有则转送所述请求到PoC XML文档管理服务器;h23.PoC XML文档管理服务器接收到所述请求后,设置在发起PoC群组会话时按预定义的成员列表进行选择;h24.PoC XML文档管理服务器处理完成后,返回成功响应到所述聚合代理;以及h25.所述聚合代理转发成功响应到所述PoC XML文档管理客户端。
5.根据权利要求2所述的方法,其特征在于,所述步骤h3进一步包括h31.具有选择会话成员的权限的用户在PoC XML文档管理客户端上发送HTTP请求,请求设置发起群组会话所要选择的成员列表;h32.聚合代理检查发出所述请求的用户是否具备相应的权限,如有则转送所述请求到PoC XML文档管理服务器;h33.PoC XML文档管理服务器接收到所述请求后,设置发起群组会话时所要选择的成员列表;h34.PoC XML文档管理服务器处理完成后,返回成功响应到所述聚合代理;以及h35.所述聚合代理转发成功响应到所述PoC XML文档管理客户端。
6.根据权利要求1所述的方法,其特征在于,所述步骤b进一步包括b1.用户发起PoC群组会活请求给PoC服务器,所述请求包括了群组统一资源标识符;b2.所述PoC服务器根据所述请求的群组统一资源标识符,发送请求到PoC XML文档管理服务器请求与所述群组统一资源标识符相对应的数据;以及b3.PoC XML文档管理服务器根据所述请求返回所述群组的数据。
7.根据权利要求1所述的方法,其特征在于,如果所述步骤c中PoC服务器检查所述用户不具有选择会话会话成员的权限,则进入c1.PoC服务器检查所述用户有无发起群组会话的权限,如无,则拒绝所述用户发起群组会话,如有,则进入步骤c2;以及c2.PoC服务器检查是否邀请群组所有成员加入会话,如是,则邀请群组所有成员加入会话,如不是,则不邀请任何成员加入会话。
8.根据权利要求1所述的方法,其特征在于,如果所述步骤d中PoC服务器检查发起PoC群组会话时不是按预定义的成员列表进行邀请,则进入d1.PoC服务器检查是否邀请群组所有成员加入会话,如是,则邀请群组所有成员加入会话,如不是,不邀请任何成员加入会话。
9.根据权利要求1所述的方法,其特征在于还包括步骤f.检查是否有所述用户的标识以及添加的所要求选择的成员列表。
10.根据权利要求9所述的方法,其特征在于,如果没有所述用户的标识及添加的所要求邀请的成员列表,则不邀请任何成员加入会话。
全文摘要
本发明提供一种实现PoC群组发起会话时选择会话成员的方法,包括以下步骤a.设置用户数据;b.用户发起PoC群组会话;c.如果所述用户具有选择会话成员的权限,则执行步骤d;d.根据预定义的成员列表选择会话成员;以及e.返回呼叫成功的响应给所述用户。本发明可以满足用户需求,方便用户使用,提高用户体验;并解决了由于群组人数大于系统所规定的会话最大人数时不能在发起会话时邀请成员的问题;还能兼容现有的方案,实现现有方案的所有要求。
文档编号H04Q7/28GK1863341SQ20061003398
公开日2006年11月15日 申请日期2006年2月23日 优先权日2006年2月23日
发明者李绪健 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1