一种poc业务群组成员状态通知的方法及装置的制作方法

文档序号:7623158阅读:176来源:国知局
专利名称:一种poc业务群组成员状态通知的方法及装置的制作方法
技术领域
本发明涉及移动通信技术领域,尤其涉及一种POC业务群组成员状态通知的方法及装置。
背景技术
POC(PTT over Cellular,基于蜂窝系统的即按即通)业务的概念来自于对讲机。群组中只有获得发言权(Floor)的成员才能说话,其他成员接听。用户通过预先设定通话群组,通话时无需拨号,按住特定的按键,就可以同时将话音传送给群组中其他所有的成员,按键即讲,呼叫和通话连接过程在瞬间完成。接收方无需任何响应就能接听,通话过程采用半双工的方式,一方在说话时,其他成员只能接听不能说话。
当POC终端用户发起预定义群组呼叫时,POC服务器将根据群组的成员列表,一一将成员列表中的成员邀请到群组会话中来,这些被叫成员可以选择接听POC邀请也可以拒绝POC邀请,同时被叫成员可以进行呼叫保持或者自行退出会话。每个群组成员在做这些操作时在POC服务器中都将记录相应的状态,例如,连接状态、未连接状态、呼叫保持状态,等等。
如果群组成员都预先在XDMS(XML Document Management Server,XML文档管理服务器,是在POC系统中存储POC群组信息、个人联系列表等数据的服务器)服务器中订阅了该群组的状态,则当POC主叫终端发起该群组呼叫时,在呼叫过程中POC服务器将向群组成员发送群组成员状态通知消息告知群组中各成员的状态,此时,群组中成员就可以立即对群组会话中的各成员状态情况了如指掌了。
在现有技术中,主要是通过以下的技术方案实现群组成员状态的通知。
假设POC终端1在XDMS服务器中创建一个POC群组,例如,其群组ID为″POC Group″<sipPOC-Group@networkA.net>,该群组的成员列表中包含了3个POC用户POC终端1、POC终端2、POC终端3,相应的用户ID分别为″POC UserA″<sipPoC-UserA@networkA.net>,″POC UserB″<sipPOC-UserB@networkB.net>,″POC UserC″<sipPoC-UserC@networkC.net>)。
当POC终端1发起呼叫时在INVITE消息中带上群组ID,POC服务器根据群组ID将从XDMS服务器中获取该群组的成员列表,并根据成员列表向各被叫成员一一发起呼叫。
图1为POC终端1呼叫POC群组″POC Group″的部分呼叫流程图,前提是POC终端1、POC终端2、POC终端3都在XDMS服务器中订阅了该群组的状态,即在呼叫过程中该群组及其成员状态变化时,POC服务器将通知各订阅终端用户。
如图1所示,相应的处理过程如下步骤11POC终端用户1拨叫群组ID(″POC Group″<sipPOC-Group@networkA.net>),POC终端1将通过IMS(IP多媒体子系统)网络向POC服务器发送INVITE(邀请)消息,消息中带上群组ID和呼叫的必要信息。
步骤12POC服务器收到POC终端1发来的INVITE请求,将根据群组ID从XDMS服务器中获取成员列表,包括POC终端1、2、3,并根据成员列表向除主叫以外的各成员发起邀请。此时POC服务器向POC终端2发起INVITE请求。
步骤13POC服务器向POC终端3发起INVITE请求。
步骤14POC终端2接受了群组呼叫邀请,并回响应200OK消息,消息中带必要的媒体交互信息。
步骤15POC服务器收到POC终端2的200OK消息后立即回ACK(确认)消息,同时POC服务器将POC终端2的状态更新为连接状态。
步骤16POC服务器收到了POC被叫的成功应答,表示会话建立,将针对主叫POC终端1创建200OK消息并向POC终端1发送。
步骤17POC终端1收到200OK后立即回ACK消息,POC服务器收到POC终端1的ACK消息后,将POC终端1的状态更新为连接状态。
步骤18POC服务器检测到群组中POC终端1和POC终端2已经进入连接状态,但是POC终端3还没有进入会话处于未连接状态。此时POC服务器将通过NOTIFY(通知)消息将POC终端1、POC终端2、POC终端3各成员的状态发送给POC终端1。
步骤19POC终端1收到NOTIFY消息后,将群组各成员的状态显示给终端用户,同时POC终端1立即给POC服务器回200OK。
步骤110与步骤18几乎同时发生,POC服务器将群组各成员的状态通过NOTIFY消息发送给POC终端2。
步骤111POC终端2收到NOTIFY消息后,获知群组中各成员的状态,立即给POC服务器回200OK。
步骤112由于某些原因POC终端3进入会话比较晚,例如POC终端3进入会话比POC终端2晚1-2秒钟,POC终端3收到步骤13的INVITE后,给POC服务器回200OK消息,消息中带必要的媒体交互消息。
步骤113POC服务器收到POC终端3的成功响应后,将立即给POC终端3回ACK,同时将POC终端3的状态更新为连接状态。
步骤114-115由于POC终端3状态变化,POC服务器将POC终端3的状态通过NOTIFY通知给POC终端1。
步骤116-117由于POC终端3状态变化,POC服务器将POC终端3的状态通过NOTIFY通知给POC终端2。
步骤118-119POC服务器将群组中各成员的状态通过NOTIFY消息告诉POC终端3,POC终端3将显示给用户,POC终端3的用户就知道群组中目前有哪些成员,各成员的状态如何了。
在POC组呼中,各群组成员在分组域的PPP连接或者PDP连接的连接状态不可能都处于激活态,同时某些POC被叫终端设置为手动应答需要用户确认,所以各被叫成员响应POC服务器的时间有差别,例如,在无线网络中,由于有的POC被叫的数据业务处于休眠态,需要一个激活过程后,INVITE消息才会到达被叫终端,此时这些用户进入会话的时间将延迟长一些。如果某被叫成员一进入会话状态改变将立即通知群组各成员。POC服务器就要多次通知群组各成员,例如,后进入会话的被叫成员有10个,但是这10个成员的进入会话的时间跨度可能为2秒甚至更长,此时NOTIFY的次数将非常多。再以上述的呼叫建立过程为例,群组中共有3个用户,POC服务器就总共发了5次NOTIFY消息。
因此,根据目前的方案,群组中每个用户状态只要发生改变POC服务器就立刻通知给群组各成员,此时,NOTIFY消息将成几何级别增加,网络及各POC终端的负荷将极大地增加。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种POC业务群组成员状态通知的方法及装置,减少NOTIFY发送频度的方案,降低网络及POC终端的工作负荷。
本发明的目的是通过以下技术方案实现的本发明提供了一种POC业务群组成员状态通知的方法,包括POC服务器向被叫成员发起邀请后,延时一预定延时时间段后将群组中各成员的状态通知群组中各成员。
所述的方法具体包括A、POC终端在可扩展标记语言文档管理服务器XDMS中创建POC业务群组,或者,POC终端创建临时组呼群组后,通过POC服务器向POC业务群组中的其它POC终端发起邀请;B、POC服务器在向所述其他POC终端发起邀请,并延时预定延时时间段后,将群组中各成员的状态通知POC业务群组中各成员。
所述的步骤A包括A1、POC终端在发起邀请时在邀请INVITE消息中带有群组ID,或者,在INVITE消息中带上所有被叫ID;A2、POC服务器根据所述的群组ID获取该群组的成员列表,并根据所述的群组的成员列表向其它POC终端发起邀请,或者,根据消息中的所有被ID向相应的POC终端发起邀请。
所述的步骤B包括B1、POC服务器向其它POC终端发起邀请时启动通知定时器;B2、当通知定时器超时,POC服务器检测群组的各成员的状态,并通知群组的各成员。
所述的方法还包括C、POC服务器再经过第二次或多次时间延时,达到每次预定延时时间后将群组中各成员的状态通知群组中各成员。
所述的步骤C包括C1、POC服务器再次或多次启动通知定时器;C2、当通知定时器超时,POC服务器检测群组的各成员的状态,收集状态变化的成员状态信息,并通知群组的各成员。
所述的步骤C中的第二次或多次预定延时时间小于上一次的预定延时时间。
所述的步骤C还包括当群组的各成员的状态未发生变化时,则不必进行通知。
所述的步骤C包括当群组的各成员的状态发生变化时,POC服务器仅将在该预定时间段内状态发生变化的成员状态信息通知给曾经通知过的成员,将所有成员状态信息通知给新进入会话的成员。
所述的方法还包括若未到达预定的时间,但所有的群组成员均为连接状态时,则立即将群组成员状态通知所有的群组成员,停止计时并不再启动后续时延定时器。
所述的方法还包括当结束时间延时后,再有群组成员状态发生变化时,立即将发生变化的群组成员状态通知所有的群组成员。
本发明还提供了一种POC业务群组成员状态通知的装置,包括通知定时器用于在POC服务器向其它POC终端发起邀请时开始计时,并在超过预定延时时间后,控制发起群组成员状态通知过程;预定延时时间设置模块用于设置定时器的定时时长值。
由上述本发明提供的技术方案可以看出,本发明所述的一种POC业务群组成员状态通知的方法及装置,核心是针对NOTIFY发送频率非常高的情况,提出了一种减少NOTIFY发送频度的方案,在POC服务器中给每个群组会话增加一个通知定时器,此定时器时长可以修改。POC服务器在向各被叫发起邀请时启动通知定时器,在通知定时器超时时,POC服务器检测群组各成员的状态统一通知给各群组成员。而不是某被叫成员一进入会话状态改变将立即通知群组各成员。减少NOTIFY发送频度,降低网络及POC终端的工作负荷。


图1为现有技术的POC业务群组成员状态通知的方法流程图;图2为本发明所述的POC业务群组成员状态通知的方法流程图一;图3为本发明所述的POC业务群组成员状态通知的方法流程图二;图4为本发明所述的POC业务群组成员状态通知的方法流程图三;图5为本发明所述的POC业务群组成员状态通知的装置的示意图;图6为本发明所述的POC业务群组成员状态通知的方法具体示例的流程图。
具体实施例方式
本发明的核心是针对NOTIFY发送频率非常高的情况,提出了一种减少NOTIFY发送频度的方案,因为各群组成员在分组域的连接状态不可能都处于激活态,同时某些POC被叫终端设置为手动应答需要用户确认,所以各被叫成员响应POC服务器的时间有差别,但是各成员的响应时间跨度不是很大。因此,本发明可以在POC服务器中给每个群组会话增加一个通知定时器,此定时器时长可以修改。POC服务器在向各被叫发起邀请时启动通知定时器,在通知定时器超时时,POC服务器检测群组各成员的状态统一通知给各群组成员。当最后进入会话的被叫成员状态变为连接状态时立即通知。
下面将结合附图对本发明所述方法的具体实现过程进行详细的说明,如图2所示,具体包括以下处理过程步骤21、一个POC终端在发起邀请时在邀请INVITE消息中带有群组ID;步骤22、POC服务器根据所述的群组ID获取该群组的成员列表;步骤23、POC服务器根据所述的群组的成员列表向其它POC终端发起邀请,并同时执行步骤24和步骤28;步骤24、根据预定的延时时间启动通知定时器;步骤25、当通知定时器超时,执行步骤26,否则继续等待;步骤26、POC服务器将检测到的群组各成员的状态通知群组的各成员;步骤27、判断是否要求再一次延时等待,如是执行步骤24,否则执行步骤210;步骤28、判断所有的群组成员是否为连接状态,如是执行步骤29,否则,继续等待;步骤29、立即将群组各成员的状态通知群组的所有成员。
步骤210、结束此通知过程。
上述的步骤24中预定的延时时间的设置是可以改变的,一般是在POC服务器中事先设置好首次的预定的延时时间与第二次及以后各次的预定的延时时间,也可以设定好第二次及以后各次的预定的延时时间与首次的预定的延时时间的换算关系。例如,设好首次的预定的延时时间,从第二次开始,延时时间逐渐减小,一般可采用下一次的预定的延时时间是上一次的一半。当从步骤27返回需要进行再一次的延时等待时,首先获取本次延时等待的预定的延时时间再执行此步骤24。
执行上述的步骤26中POC服务器将检测到的群组各成员的状态通知群组各成员的过程还包括如图3所示的过程,具体如下步骤31、判断群组的各成员的状态是否发生变化,如是,执行步骤32,否则,执行步骤34;步骤32、区分出群组的各成员中状态发生变化成员与状态未发生变化的成员;步骤33、POC服务器将状态发生变化的成员状态信息通知给曾经通知过的成员,同时将所有成员状态信息通知给新进入会话的成员。
步骤34、执行步骤27。
执行上述的步骤29中POC服务器立即将群组各成员的状态通知群组的所有成员的过程,因为所有的群组成员为连接状态,则表明一定有群组成员的状态发生了变化;如图4所示其具体的过程如下步骤41、区分出群组的各成员中状态发生变化成员与状态未发生变化的成员;步骤42、POC服务器将状态发生变化的成员状态信息通知给曾经通知过的成员,同时将所有成员状态信息通知给新进入会话的成员。
步骤43、执行步骤210。
这里还有说明的是,当结束时间延时后,如有群组成员连接状态发生改变,如进入会话或连接断开时,立即通知所有的群组成员。
本发明还提供了一种POC业务群组成员状态通知的装置,具体如图5所示,包括通知定时器与预定延时时间设置模块,其中通知定时器用于在POC服务器向其它POC终端发起邀请时记录邀请时间;并在超过预定延时时间后通知POC服务器;预定延时时间设置模块用于通知定时器的设置各次的预定延时时间。
为便于理解本发明,下面举例对本发明作进一步说明。
例如,POC终端1在XDMS服务器中创建了一个POC群组,该群组的成员列表中包含了6个POC用户POC终端1、POC终端2、POC终端3、POC终端4、POC终端5、POC终端6。当POC终端1发起呼叫时在INVITE消息中带上群组ID,POC服务器根据群组ID将从XDMS服务器中获取该群组的成员列表,并根据成员列表向各成员一一发起呼叫。
这里的前提条件是群组各成员都订阅了该群组的状态。
POC服务器中可以配置NOTIFY定时器时长,比如配置NOTIFY_TIMER为6秒。
图6所示为POC终端1发起群组呼叫的流程,该流程目的是为了介绍POC服务器如何控制NOTIFY的发送频度,所以对于INVITE的ACK事务以及NOTIFY的200OK在图中没有标示出来。
如图6所示,POC终端1发起群组呼叫的处理过程具体包括以下步骤步骤61POC终端1发起根据群组ID发起群组呼叫,将通过IMS网络向POC服务器发送INVITE消息,消息中带群组ID和相应媒体属性。POC服务器收到INVITE消息后,判断出此会话没有建立,将根据群组ID从XDMS服务器中获取该群组的成员列表。在向各被叫成员发起邀请前,POC服务器启动时长为NOTIFY_TIMER定时器,超时时将检查群组各成员状态并向已连接的成员发送各群组成员状态。
步骤62~66POC服务器根据群组成员列表向各被叫发起邀请。
步骤67、69、610POC终端2、3、4由于其分组域连接处于激活态,很快就给POC服务器回响应,但是POC服务器收到这些终端的响应后,并不立即给他们下发群组成员状态通知,必须继续等待在NOTIFY定时器超时之前是否还有别的终端进入。
步骤68、POC服务器收到了POC被叫的成功应答,表示会话建立,将针对主叫POC终端1创建200OK消息并向POC终端1发送。
过程执行到这里例如,当POC服务器的NOTIFY定时器超时,检测到该群组中POC终端1、2、3、4处于连接状态,但是POC终端5、6处于未连接状态。
此时,将进行如下过程步骤611~614POC服务器将构造NOTIFY消息,消息中将群组所有成员的状态列出,然后发给处于连接状态的成员,并在POC终端1、2、3、4的状态属性中注明已经下发过NOTIFY消息,下一次给POC终端1、2、3、4下发NOTIFY时只带群组中状态变化的成员状态。同时启动NOTIFY定时器,时长为NOTIFY_TIMER/2秒。当然后续的定时器时长可以按照一定规则变化设定。
步骤615由于POC终端5在接收INVITE邀请前,可能其分组域连接为休眠态,需要通过网络设备将分组域连接状态激活,然后INVITE消息才能发到POC终端5上,所以回响应的时间稍微慢一些,在POC服务器发送了一次NOTIFY后再收到POC终端5的成功应答响应,POC服务器将POC终端5的状态更新为连接状态。但不立即下发NOTIFY告知各成员POC终端5的状态变化。也不立即向POC终端5下发NOTIFY告知所有群组成员状态情况。
步骤616POC终端6同POC终端5相似,POC服务器将POC终端6的状态更新为连接状态。但不立即下发NOTIFY告知各成员POC终端6的状态变化。也不立即向POC终端6下发NOTIFY告知所有群组成员状态情况。
当群组的NOTIFY定时器超时时,POC服务器检测到群组的各成员的状态中,POC终端5、6的状态由未连接变为连接状态,而POC终端1、2、3、4的状态还是处于连接状态没有变化。
步骤617~620POC服务器将构造NOTIFY消息分别发送给POC终端1、2、3、4告知他们POC终端5、6的当前状态,由于POC服务器已经通过NOTIFY告知POC终端1、2、3、4的所有成员状态了,此时在NOTIFY消息中只带状态变化的成员状态,即只带POC终端5、6的状态。
步骤621~622同时,POC服务器将构造NOTIFY消息分别发送给POC终端5、6告知他们群组中所有成员的状态,由于是第一次向POC终端5、6发送NOTIFY,所有消息中需要带所有的成员状态。
本发明中,在后续过程中,当各成员状态发生变化后,POC服务器将立即通过NOTIFY通知。
本发明还可以适用于临时组呼的情况,在POC终端向POC服务器发起临时组呼时,在相应的INVITE消息中增加所有被叫ID信息,POC服务器根据消息中的各被叫ID信息向相应的POC终端发起邀请,后续的处理过程与针对普通的POC群组的处理过程相同,故不再详述。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种POC业务群组成员状态通知的方法,其特征在于,包括POC服务器向被叫成员发起邀请后,延时一预定延时时间段后将群组中各成员的状态通知群组中各成员。
2.根据权利要求1所述的POC业务群组成员状态通知的方法,其特征在于,所述的方法具体包括A、POC终端在可扩展标记语言文档管理服务器XDMS中创建POC业务群组,或者,POC终端创建临时组呼群组后,通过POC服务器向POC业务群组中的其它POC终端发起邀请;B、POC服务器在向所述其他POC终端发起邀请,并延时预定延时时间段后,将群组中各成员的状态通知POC业务群组中各成员。
3.根据权利要求2所述的POC业务群组成员状态通知的方法,其特征在于,所述的步骤A包括A1、POC终端在发起邀请时在邀请INVITE消息中带有群组ID,或者,在INVITE消息中带上所有被叫ID;A2、POC服务器根据所述的群组ID获取该群组的成员列表,并根据所述的群组的成员列表向其它POC终端发起邀请,或者,根据消息中的所有被ID向相应的POC终端发起邀请。
4.根据权利要求2所述的POC业务群组成员状态通知的方法,其特征在于,所述的步骤B包括B1、POC服务器向其它POC终端发起邀请时启动通知定时器;B2、当通知定时器超时,POC服务器检测群组的各成员的状态,并通知群组的各成员。
5.根据权利要求1至4任一项所述的POC业务群组成员状态通知的方法,其特征在于,所述的方法还包括C、POC服务器再经过第二次或多次时间延时,达到每次预定延时时间后将群组中各成员的状态通知群组中各成员。
6.根据权利要求5所述的POC业务群组成员状态通知的方法,其特征在于,所述的步骤C包括C1、POC服务器再次或多次启动通知定时器;C2、当通知定时器超时,POC服务器检测群组的各成员的状态,收集状态变化的成员状态信息,并通知群组的各成员。
7.根据权利要求5所述的POC业务群组成员状态通知的方法,其特征在于,所述的步骤C中的第二次或多次预定延时时间小于上一次的预定延时时间。
8.根据权利要求5所述的POC业务群组成员状态通知的方法,其特征在于,所述的步骤C还包括当群组的各成员的状态未发生变化时,则不必进行通知。
9.根据权利要求5所述的POC业务群组成员状态通知的方法,其特征在于,所述的步骤C包括当群组的各成员的状态发生变化时,POC服务器仅将在该预定时间段内状态发生变化的成员状态信息通知给曾经通知过的成员,将所有成员状态信息通知给新进入会话的成员。
10.根据权利要求1至4任一项所述的POC业务群组成员状态通知的方法,其特征在于,所述的方法还包括若未到达预定的时间,但所有的群组成员均为连接状态时,则立即将群组成员状态通知所有的群组成员,停止计时并不再启动后续时延定时器。
11.根据权利要求1至4任一项所述的POC业务群组成员状态通知的方法,其特征在于,所述的方法还包括当结束时间延时后,再有群组成员状态发生变化时,立即将发生变化的群组成员状态通知所有的群组成员。
12.一种POC业务群组成员状态通知的装置,其特征在于,包括通知定时器用于在POC服务器向其它POC终端发起邀请时开始计时,并在超过预定延时时间后,控制发起群组成员状态通知过程;预定延时时间设置模块用于设置定时器的定时时长值。
全文摘要
本发明所述的一种POC业务群组成员状态通知的方法及装置,核心是针对NOTIFY发送频率非常高的情况,提出了一种减少NOTIFY发送频度的方案,在POC服务器中给每个群组会话增加一个通知定时器,此定时器时长可以修改。本发明具体为POC服务器在向各被叫发起邀请时启动通知定时器,在通知定时器超时时,POC服务器检测群组各成员的状态统一通知给各群组成员。因此,本发明可以减少NOTIFY发送频度的方案,降低网络及POC终端的工作负荷。
文档编号H04Q7/28GK1867108SQ200510098468
公开日2006年11月22日 申请日期2005年9月8日 优先权日2005年9月8日
发明者朱勇, 谢国军, 罗龙 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1