通信业务“无线一键通”(PoC,Push-to-talk-over-Cellular)使得移动无线电用户设备的用户能同时向一个或者多个接收方传送语音数据。
对此,在移动无线电用户设备上设置有专用的PoC按键,在用户操作该PoC按键之后开始输入语音数据。
通常已在输入期间借助移动无线电通信网络分配了语音数据,也就是将语音数据传送给这个或者这些所希望的接收方。该过程被称作“成流(streaming)”。
该传送以半双工方法实现,即在输入期间和在传输期间只有发送方(即输入并且发送语音数据的用户)可以将语音数据传送给接收方,但是接收方不能同时向发送方发送语音数据。尤其是,发送方不能被接收方中断。
明显地,借助PoC的通信在用户看来对应于传统的CB无线电,可是有以下扩展,即发送方可以在世界范围向接收方传送语音数据,这些接收方借助至少一个移动无线电通信网络的适当交换技术而能联系上。
如果PoC的用户经常想要向同样的接收方发送语音消息,则在PoC中能够定义个人的、固定用户组。例如,PoC的用户可以定义名称为“朋友”的组,该组具有相对应的成员及其相应的地址,例如具有电话号码形式或者SIP地址形式的SIP-URL(会话初始化协议统一资源定位符(Session Initiation Protocol Uniform Resource Locator))。
于是,可给该组分配SIP-URL形式的自己的组地址,并且在建立PoC会话时,即在借助PoC建立通信会话时,在由用户开始的说明组地址的情况下由PoC服务器计算机对该组的所有成员进行编址并且邀请这些成员参加PoC会话。
该组的成员可被邀请的前提条件是,该成员在移动无线电通信网络中注册,也就是“在线(online)”,借助该移动无线电通信网络提供所使用的PoC。
主动被包括在PoC会话中的PoC的用户(即作为发送方)或者被动被包括在在PoC会话中的PoC的用户(即作为接收方)以下被称为PoC会话的PoC参与者。
如在[1]和[2]中所说明的组管理(Group Management)能够实现简单地处理PoC范围中的组。但是,组也可以被使用在其它通信业务的范围中。例如,用户在使用相对应的组的情况下可以向其家族的所有成员发送MMS(多媒体消息业务(Multimedia Message Service))消息。
在PoC的情况下,用户在使用相对应的组的情况下例如可以与其斯卡特牌俱乐部(Skat-Club)的所有成员开始PoC会话。为此,在PoC通信网络中,即在提供PoC的通信网络中,设置组管理服务器(GM服务器),借助该组管理服务器,用户能建立并且管理一组。该用户被称为该组的管理员。
根据现有技术,组的规范的主要组成部分是:
-组标识符(Group identifier):借助该组标识符清楚地标识该组。该组标识符例如具有以下形式:sip:myfriends@myname.t-mobile.de。
-组特有属性(Group specific attribute):这些属性规定了组的更准确的特性。这些特性是:
-组信息(Group information):简单的文本形式的信息(例如“这是我的家族”)。
-组可视性(Group visibility):这规定了,哪些用户(例如借助GM服务器的搜索功能)能找到该组。例如,组可视性规定了,只有该组的管理员能找到该组。
-组持续时间(Group duration):这规定了,该组多长时间有效或可以使用该组多长时间和/或该组何时有效或何时可使用该组。例如,组持续时间可以规定,用户的“足球场朋友”组只有在每周六的14点至18点被使用。
-通信业务专用信息(Service specific info):这对于在其范围中可以使用组的通信业务是专用的信息。例如,在PoC的范围中存在“预先安排的组(pre-arranged group)”和“聊天组(chatgroup)”之间的区别。因此,如果该组应被使用在PoC的范围中,则可以借助业务专用信息来说明涉及哪类组。
-组成员(Group member):这是属于该组的用户/组的列表,即组成员的列表。每个组成员、尤其是本身可以是组的组成员借助ID(标识符,例如SIP URI)来清楚地规定。此外,对于每个组成员可以确定以下属性:
-成员权利(Member rights):这规定组成员的权利。
-匿名性(Anonymity):这规定了,在组的范围中的通信中的组成员是否是匿名的。
-通信业务专用信息(Service specific info):这是通信服务专用说明。在PoC的情况下,例如PoC会话的调节器的功能可以借助该业务专用信息来分配给组成员。
根据现有技术,具有相对应的权利的用户(例如组的管理员)能在该组的组管理(也就是Group Management)的范围内执行以下组管理操作:
-组的操作(Manipulation of groups)
-取得组的列表(Get a list of groups)
-建立新组(Creat a new group)
-删除组(Delte a group)
-修改组属性(Modify group attributes)
-组中的成员的操作(Manipulation of members in a group)
-取得组的列表(Get a list of members)
-将成员增加到组(Add a member to a group)
-从组中删除成员(Delete a member from a group)
-修改成员属性(Modify member attributes)
在PoC的范围中,组通过用户例如以如下方式来被使用,如参考图1所阐述的那样。
图1示出了根据现有技术的消息流图100。
在步骤106,可以是第一PoC客户端单元101的用户的用户在GM服务器计算机104中通过发送第一消息120产生组(PoC组),第二PoC客户端单元102(或相对应的用户)和第三PoC客户端单元103(或相对应的用户)属于该组。例如给PoC组分配ID(标识符)sip:myfriends@abc.de并且借助第二消息121将该ID通知给该用户,该第二消息121由GM服务器计算机104在步骤107被发送给第一PoC客户端单元101。
在步骤108,用户选出PoC组。在步骤109,用户与PoC组开始PoC会话。为此,该用户借助第一PoC客户端单元101向PoC服务器计算机105发送第三消息122。PoC服务器计算机105在步骤110确定,在第三消息122中规定的ID(sip:myfriends@abc.de)规定一PoC组。于是,PoC服务器计算机105在步骤111向GM服务器计算机104发送第四消息123,以便决定(也就是确定)该PoC组,该PoC组具有哪些组成员。GM服务器计算机104于是在步骤112借助第五消息124向PoC服务器计算机发送PoC组的所有组成员的列表。在该例子中,该组具有第二PoC客户端单元102和第三PoC客户端单元103。
通过在步骤113向第二PoC客户端单元102发送第六消息125并且通过向第三PoC客户端单元103发送第七消息126,PoC服务器计算机105邀请该PoC组的所有成员参加要建立的PoC会话。只要第一组成员在步骤114借助第八消息127接受该邀请(在本例中为第二PoC客户端单元102),则在步骤116向PoC会话的发起者(也就是向第一PoC客户端单元101)发送第九消息128,借助该第九消息128用信号通知,PoC会话现在开始并且在PoC会话中可以发送语音包。
根据现有技术,在定义组的情况下,例如在GM服务器中建立组的情况下,组的成员必须被列出。尤其是,确定该组具有哪些成员是非常静态的。在具有用户的所有家族成员作为组成员的组的情况下,这不是严重的缺点,因为用户的家族成员不经常变化。
在例如出租车运营商的情况下,该出租车运营商想要建立和使用具有所有被分配给其的、目前闲置的出租车(或相对应的司机)作为组成员的组,十分不方便的是,只要出租车变成闲置或被占用,就在GM服务器计算机中执行组管理操作“将成员增加到该组”或“从该组中删除成员”。
除了针对出租车运营商的极大的工作量和所引起的微小的用户友好性之外,这还导致将消息发送给GM服务器的非常高的信令涌现量,例如将消息发送到移动无线电通信系统的空中接口上的非常高的信令涌现量,该移动无线电通信系统被用于通信。
此外,用于决定谁目前会是组的成员的信息对于(例如在其移动无线电用户设备中的)用户可能不存在。用户必须尽可能以极大的工作量来确定该信息。
在出租车运营商的情况下,必须总是通知出租车运营商(或者例如其移动无线电用户设备),出租车何时变成闲置或者被占用,以致出租车运营商始终被告知当前的状态。通知消息的持续传送同样导致很高的信令涌现量,例如到被用于通信的移动无线电通信系统的空中接口上的很高的信令涌现量。
在使用HTTP的情况下的组管理操作在[2]中被说明。HTTP获取(get)指令在[3]中被说明。
在[4]中说明了SIP INVITE(SIP邀请),在[5]中说明了SIPSUBSCRIBE(SIP订阅)而在[6]中说明了SIP MESSAGE(SIP消息)。这是根据SIP(Session Initiation Protocol(会话初始化协议))的方法。
在[7]中说明了一种用于交换电子邮件的方法,其中用户可以在服务器中注册并且可以说明准则,该准则规定了,由其所发送的电子邮件会被发送给哪些其它用户,并且可以说明简档,根据简档决定,由其它用户发送的电子邮件是否被发送给该用户。
文献[8]公开了一种基于网络的系统和一种用于动态管理用户组的方法。将周期动态的用户数据与组成员资格准则进行比较,以便确定用户组。
文献[9]公开了一种通信系统,其中通信终端设备基于地理距离准则从通信会话的可能参与者的列表中选出通信会话的参与者。
在[10]中公开了一种通信系统,其中基于可能的参与者所位于的地理位置从通信会话的可能的参与者的组中选出通信会话的参与者。
本发明基于以下问题,提供一种在通信业务的范围中利用组的可能性,其中未出现上述缺点。
该问题通过具有根据独立权利要求所述的特征的通信系统、用于操作通信系统的方法、服务器单元、用于操作服务器单元的方法、通信业务客户端单元和用于操作通信业务客户端单元的方法来解决。
提供具有一通信业务客户端单元、其它的通信业务客户端单元、通信业务服务器单元和服务器单元的通信系统,其中该通信业务客户端单元被建立来产生一个或者多个消息,这些消息包含至少一个准则和对提供通信业务的请求以及规范,该准则分别由这些其它的通信业务客户端单元满足或者不满足,该规范即满足该准则的这些其它的通信业务客户端单元会是所提供的通信业务的用户。服务器单元被建立来产生满足该准则的这些其它的通信业务客户端单元的列表并且向通信业务服务器单元传送该列表;以及通信业务服务器单元被建立来利用该通信业务客户端单元和满足该准则而作为参与者的这些其它的通信业务客户端单元提供通信业务。
此外,提供具有一通信业务客户端单元、其它的通信业务客户端单元、通信业务服务器单元和服务器单元的通信系统,其中该通信业务客户端单元被建立来产生一个或者多个消息,这些消息包含至少一个准则和对提供通信业务的请求以及规范,该准则分别由这些其它的通信业务客户端单元满足或者不满足,该规范即满足该准则的这些其它的通信业务客户端单元会是所提供的通信业务的参与者。服务器单元被建立来将代表至少一个准则的信息传送给该通信业务服务器单元;以及通信业务服务器单元被建立来利用该通信业务客户端单元和满足该准则而作为参与者的这些其它的通信业务客户端单元提供通信业务。
此外,根据上述通信系统提供了用于操作通信系统的方法、服务器单元,用于操作服务器单元的方法、通信业务客户端单元以及用于操作通信业务客户端单元的方法。
明显地,用户借助其通信业务客户端单元规定一准则,根据该准则,如果用户借助其通信业务客户端单元请求通信业务,则动态地产生一组其它用户(或其它的通信业务客户端单元),该组的组成员和用户一起会参与所提供的通信业务,例如会参与PoC(无线一键通)通信。
因此,用户不是静态地在服务器单元(例如GM(组管理)服务器)处确定一组,用户只能手动地通过将消息发送给服务器单元来修改该组,例如通过发送规定某个用户会被添加到该组的消息来修改该组,而是该用户规定一准则,根据该准则,服务器单元自动地(在开始提供通信业务时)动态确定该组。
例如,用户在出租车中心可以作为准则说明,所有目前闲置的出租车司机应该属于PoC组。例如通过询问对于每辆出租车包含该出租车当前是否闲置的信息的呈现服务器(Presence-Server),服务器单元动态地产生PoC组。以这种方式,用户能始终准确地向正好闲置的出租车发送语音消息,而不必始终手动地使PoC组处于最新状态,并且不用告知自己哪些出租车当前闲置,对此可能需要极大的信令开销。
以这种方式,本发明提高了用户友好性并且极大地降低了信令开销。
在上述例子中,这些其它的通信业务客户端单元例如通过出租车司机的移动无线电用户设备来实现。
在本发明的范围中,第一通信业务客户端单元和其它的通信业务客户端单元例如通过根据UMTS(通用移动电信系统(Universal MobileTelecommunication System))标准或者GSM(全球移动通信系统(Global System for Mobile Communication))标准的移动无线电用户设备来实现。
可是,不仅当通信业务借助移动无线电通信网络来提供时可应用本发明,而且当通信业务借助固定网络(例如PSTN(公共交换电话网络(Public Swtiched Telephone Network))来提供时也可以应用本发明。在这两种情况下,通信业务借助因特网来提供,通信业务例如是基于因特网的会议通信业务,而通信业务客户端单元相应的是会议通信终端设备。本发明适于多个组专用的通信业务。
明显地,会参与通信业务的这些其它的通信业务客户端单元不是(仅仅)借助列表来规定,而是显然“概述地(umschreiben)”例如根据该准则从潜在参与者的列表中被滤出并且因此借助可预给定的准则(或者多个可预给定的准则)来动态确定。
本发明因此能够在通信业务的范围中利用动态地、借助准则所定义的组。
此外,在下面所说明的实施例中存在以下优点,即这些实施例基于现有的、部分已经被标准化的通信网络。不必为了实现这些实施例而添加相对于现有的通信网络为新的网络元件,现有的网络元件在其功能性方面被扩展。这些实施例因此可以简单且节省成本地来实现。
在一实施形式中,用户可以规定一个值,该值限制了会参与该通信业务的其它的通信业务客户端单元的最大数量。显然,用户因此可以控制动态产生的组的大小。
如果在通信业务已经被提供的期间,即在通信业务存在的期间,满足该准则的其它的通信业务客户端单元组变化,则这可予以考虑,并且例如在开始提供的时刻不满足但是现在满足该准则的其它的通信业务客户端单元变成参与者,例如这些其它的通信业务客户端单元被邀请参加所提供的通信业务(例如会议)。相反,其它的通信业务客户端单元中的不再满足该准则的一个通信业务客户端单元可以从所提供的通信业务排除,例如从会议中被去除。为了实现这一点,服务器单元周期地检验该准则。
服务器单元和通信业务服务器单元可以借助同样的服务器计算机来实现。
在一实施形式中,通信业务服务器单元作为对第二消息的应答而向通信业务客户端单元发送一消息,借助该消息通知通信业务客户端单元,其它的通信业务客户端单元中的哪些通信业务客户端单元当前满足该准则。通信业务客户端单元于是可以确认,利用当前满足该准则而作为参与者的其它的通信业务客户端单元实际上是否会提供通信业务。
明显地,本发明扩展了根据现有技术所设置的组管理操作。此外,明显扩展了通信业务客户端单元向通信业务服务器单元发送的请求,例如通过利用动态定义的组的组成员作为参与者会提供通信业务的规范来扩展该请求。
服务器单元可被构造为组管理服务器单元,并且例如通过相应地相对于现有技术被扩展的GM(组管理)服务器计算机来实现或者通过任意另一服务器计算机来实现。
本发明的优选扩展方案由从属权利要求得到。结合通信系统来说明的本发明的其它改进方案有意义地也适于用于操作通信系统的方法、服务器单元、用于操作服务器单元的方法、通信业务客户端单元和用于操作通信业务客户端单元的方法。
代表至少一个准则的信息是至少一个准则本身。
此外,通信业务客户端单元可被建立来向服务器单元发送一个或者多个具有至少一个准则的消息。
根据本发明的改进方案,服务器单元被建立来存储至少一个准则。
此外,服务器单元可以被建立为组管理服务器单元。
例如,该请求被包含在一个或者多个消息的第一消息中并且从通信业务客户端单元被传送给通信业务服务器单元。
在一实施形式中,该准则被包含在一个或者多个消息的第二消息中并且从通信业务客户端单元被传送给服务器单元。
在一实施形式中,该准则被包含在一个或者多个消息的第一消息中(并且例如从通信业务服务器单元被转发给服务器单元)。
在一实施形式中,为了产生其它的通信业务客户端单元的列表,服务器单元被建立来向至少一个信息服务器单元传送第三消息,该第三消息包含对为了检验其它的通信业务客户端单元是否满足该准则而必要的信息的请求。
在另一实施形式中,为了产生其它的通信业务客户端单元的列表,通信业务服务器单元被建立来向至少一个信息服务器单元传送第三消息,该第三消息包含对为了检验其它的通信业务客户端单元是否满足该准则而必要的信息的请求。
明显地,服务器单元或通信业务服务器单元在信息服务器单元处请求其为了根据该准则产生列表而检验的信息,该信息服务器单元具有与该准则相关的信息。
例如,信息服务器单元是呈现服务器单元或者位置服务器单元。相应地,与该准则相关的信息例如是位置信息或者呈现信息。
如果服务器单元或者通信业务服务器单元周期地检验这些准则(以便能够始终检验其它的通信业务客户端单元中的哪些通信业务客户端单元当前满足该准则),则该服务器单元或者通信业务服务器单元例如可以在位置服务器或者呈现服务器处订阅,以致该服务器单元或者通信业务服务器单元始终被告知其它的通信业务客户端单元的状态变化。
此外,在一实施形式中,一个或者多个消息还包含其它的通信业务客户端单元中的一部分的另一列表,而只有当其它的通信业务客户端单元之一被列在该另一列表上并且满足该准则时,该其它的通信业务客户端单元之一才会是所提供的通信业务的参与者。
通信业务客户端单元的用户因此可以定义潜在组成员的列表,根据该准则从这些潜在的组成员中滤出通信业务的参与者。
例如,通信业务是基于SIP(会话初始化协议)的通信业务。
借助通信Id(通信标识符),在SIP会话内可以实现各种组通信(或者子组通信),其中使用动态的组(或者子组)。尤其是,例如可实现“耳语(Whispering)”和“花边(Sidebars)”。例如参与组通信的用户可以向动态定义的子组发送语音数据,这些语音数据只能由该子组的成员接收。
在一实施形式中,在一个或者多个消息中规定至少一个根据XML(eXtended Markup Language(可扩展标记语言))的准则。
通信业务例如是PoC通信业务、用于发送即时消息的通信业务、MMS通信业务或者会议通信业务。
如上所提及的那样,服务器单元在提供通信业务的过程中(例如周期地)检验满足该准则的其它的通信业务客户端单元的列表有效性,必要时更新该列表并且将更新过的列表传送给通信业务服务器单元。
通信业务服务器单元如上所提及的那样可被建立来根据更新过的列表改变通信业务的参与者。
根据本发明的另一改进方案,通信业务服务器单元在提供通信业务的过程中(例如周期地)检验其它的通信业务客户端单元是否还满足该准则,并且必要时改变该通信业务的参与者。
在一实施形式中,在由通信业务服务器单元所提供的另一通信业务的范围中提供通信业务。
明显地,组中的动态产生的子组在针对该组所提供的通信业务的范围中被使用。例如,PoC通信在PoC会话的范围中被建立,其中PoC通信的参与者(或由其所使用的客户端单元)满足该准则。
本发明的实施例在附图中被示出并且继续进一步被阐述。
图2示出了根据本发明的实施例的消息流图200。
消息流200发生在GM(组管理)客户端单元201、业务区段(ServiceX)客户端单元202、业务区段服务器单元203与GM(组管理)服务器单元204之间。业务区段在此代表任意通信业务,在该通信业务的范围中可以使用组。
业务区段相应的例如是PoC(无线一键通)通信业务、用于发送即时消息的通信业务、MMS(多媒体消息业务)通信业务或者会议通信业务。业务区段客户端单元202和业务区段服务器单元203根据通信业务来布置和构造。下面将进一步阐述使用PoC的架构。
在步骤205,GM客户端单元201在GM服务器单元204处建立(PoC)组。对此,GM客户端单元201将group-creation-request(组建立请求)消息216发送给GM服务器单元204。group-creation-request消息216包含:
-该组的潜在组成员的列表和/或准则的第一列表;
-(可选)该组的组成员的最大数量的规范;
-(可选)设置自动更新标记(automatic update flag)的规范,
-(可选)业务区段专用的参数的其它值。
GM服务器单元204于是建立相应的组并且在步骤206向GM客户端单元201发送应答消息217,该应答消息217包含所建立的组的唯一的标识符(ID)。
在步骤207,业务区段客户端单元202向业务区段服务器单元203发送具有对提供业务区段的请求的请求消息218。该请求消息218包含:
-组的标识符和/或准则的第二列表;
-(可选)潜在组成员的另一列表;如果在group-creation-request消息216中已经说明了潜在组成员的列表,则潜在组成员的其它列表可以是潜在组成员的列表的扩展;
-(可选)该组的组成员的最大数量的规范;
-(可选)设置自动更新标记的规范;
-(可选)所请求的通信业务的请求标识符(request ID);在业务区段是PoC通信业务的情况下,这是PoC通信ID,该PoC通信ID被称为id_proposal;
-(可选)对于业务区段专用的其它参数的值。
在步骤208,业务区段服务器单元203确定,其不能决定该组,即其不能确定当前的组成员。因此,该业务区段服务器单元203向GM服务器单元204发送请求消息219,以请求GM服务器单元204决定该组。请求消息219包含:
-组的标识符;
-(可选)准则的第二列表;
-(可选)潜在组成员的列表(对此以下始终理解为:必要时对潜在组成员的其它列表扩展的潜在组成员的列表,或如果在group-creation-request消息216中没有说明潜在组成员的列表,则必要时为潜在组成员的其它列表本身);
-(可选)组中的组成员的最大数量的规范;
-(可选)对于业务区段专用的其它参数的值。
如果设置自动更新标记,则业务区段服务器单元203借助请求消息219在GM服务器单元204处请求长期的组成分改变通知(Group-Composite-Change-Notification)。在这种情况下,无论何时组的成分变化,例如当潜在组成员不再满足或者在此期间不满足借助该准则的第一列表或者利用该准则的第二列表所说明的准则时,都由GM服务器单元204告知业务区段服务器单元203。尤其是,在所设置的自动更新标记的情况下,GM服务器单元204周期地检验,哪些潜在组成员当前满足该准则。
订阅、也就是组成分改变通知的请求可替换地也在稍后的时刻由业务区段服务器单元203执行。
在步骤210,GM服务器单元204确定所有用户,这些用户(如果存在)在潜在组成员的列表中被说明,这些潜在组成员满足准则的第一列表的(如果存在的)准则并且这些潜在成员满足准则的第二列表的(如果存在的)准则。这些用户构成目前的组成员列表。GM服务器单元204如何确定目前的组成员(即目前的组成员列表的成员)的方式取决于借助准则的第一列表或准则的第二列表所规定的准则。这在下面进一步来阐述。
在步骤211,GM服务器单元204向业务区段服务器单元203发送另一应答消息220,该另一应答消息220包含目前的组成员列表。
步骤212和213可选地来执行。在步骤212,业务区段服务器单元203向业务区段客户端单元202传送信息消息221,借助该信息消息221,业务区段服务器单元203将目前的组成员列表告知给业务区段客户端单元202。为此,该信息消息221例如可以包含目前组成员的数量或者也包含完整的目前的组成员列表。
在步骤213,业务区段客户端单元202向业务区段服务器单元203发送确认消息222,由此,该业务区段客户端单元202确认在步骤207所执行的、业务区段的请求。可替换地,业务区段客户端单元202在步骤213可以撤回对业务区段的请求并且相应结束该序列。
在步骤214,如果在步骤207所执行的对业务区段的请求未在步骤213被撤回,则在使用目前的组成员列表的情况下由业务区段服务器单元203来操作该请求。对此,根据业务区段是哪种类型的通信业务,业务区段服务器单元203执行相对应的动作,例如邀请组成员参加组通信。
在步骤215,业务区段服务器单元203为了确认在步骤207所执行的业务区段的请求而向业务区段客户端单元202发送请求确认消息223。请求确认消息223包含:
-(可选)目前的组成员列表;
-应答标识符(response ID);在业务区段是PoC通信业务的情况下,这是被称作PK_id的PoC通信ID;
-(可选)对于业务区段专用的其它参数的值。
如果业务区段服务器单元203向GM服务器单元204请求组成分改变通知,则业务区段服务器单元203在改变目前的组成员列表时告知被改变的目前的组成员列表。因此,业务区段服务器单元203始终知道目前的组成员列表的当前成分。按照业务区段是哪种类型的通信业务,某些动作(例如邀请新添加到目前的组成员列表的组成员参加组通信)与目前的组成员列表的变化(和业务区段服务器单元203的相应通知)相联系。
在另一实施形式中,如上所述地执行步骤205至211。可是,必需执行步骤212,并且信息消息221包含目前的组成员列表以及临时的组标识符。在步骤213,业务区段客户端单元302未向业务区段服务器单元203发送确认消息222,而是在说明临时的组标识符的情况下,业务区段客户端单元302向业务区段服务器单元303发送业务区段的新请求。该序列的剩余部分从步骤214开始与上述步骤相同。
在一实施形式中,GM服务器单元204不是被构造为独立的功能单元,而是GM服务器单元204的上面所述的功能性由业务区段服务器单元203承担。尤其是,在步骤219和220中,GM服务器单元204与业务区段服务器单元203之间不再有交互作用,以及取消在组成分改变通知范围中给业务区段服务器单元203的通知。
图3示出了根据本发明的实施例的通信系统300。
第一PoC客户端单元301、第二PoC客户端单元302和第三PoC客户端单元303各借助接口304分别与PoC参与者服务器计算机(PoC服务器计算机参与功能)305耦合。PoC参与者服务器计算机305与PoC控制服务器计算机(PoC服务器计算机控制功能)306耦合。
PoC控制服务器计算机306与位置服务器计算机307、GM(组管理)服务器计算机308和呈现服务器计算机309耦合。GM服务器计算机308同样与位置服务器计算机307和呈现服务器计算机309耦合。
位置服务器计算机307提供位置信息。例如,GM服务器计算机308向位置服务器计算机307询问第二PoC客户端单元302的位置。
呈现服务器计算机309提供呈现信息。例如,GM服务器计算机308向呈现服务器计算机309询问,第二PoC客户端单元302目前是否可用以及例如是否未切断,或者出于其它原因而不能建立到其的通信连接。
接口304例如借助UMTS(通用移动电信系统)通信系统或者GSM(全球移动通信系统)通信系统的RAN(无线电接入网(Radio AccessNetwork))、核心网(Core Network,CN)和IMS(基于网际协议的多媒体子系统(Internet Protocol based Multimedia Subsystem))来提供。
但是,接口304例如也可以借助PSTN(公共交换电话网)通信网络来提供。
PoC客户端单元301、302、303分别被集成到移动无线电通信终端设备中,该移动无线电通信终端设备根据相应的接口304例如被建立来根据UMTS标准、GSM标准、GPRS(通用分组无线电业务(GeneralPacket Radio Service))标准或者另一移动无线电通信标准来进行通信。
图4示出了根据本发明的实施例的消息流图400。
所示的消息流发生在PoC客户端单元401、PoC控制服务器计算机402、GM服务器计算机403、位置服务器计算机404、呈现服务器计算机405以及其它的PoC客户端单元406之间,这些单元参照图3所阐述地那样来布置和构造,其中第二PoC客户端单元302和第三PoC客户端单元303对应于其它的PoC客户端单元406。
在以下所阐述的实施例中假设,PoC客户端单元401的用户与以下对象想要开始PoC会话:
-其所有朋友,
-目前在与其相同的城市停留的对象(在该例子中,这是第一准则;criteria_1),
-以及目前不工作的对象(在该例子中,这是第二准则;criteria_2)。
对此,PoC客户端单元401的用户通过在步骤407发送group_generation_request(组生成请求)消息423而在GM服务器计算机403中建立PoC组。为了定义PoC组,用户传送二十个不同用户(用户的朋友,他们是潜在组成员)的、被包含在group_generation_request消息423中的列表(member_list(成员列表))以及在group_generation_request消息423中规定的第一准则(criteria_1),该第一准则即这些朋友在使用PoC组的时刻会停留在城市“汉堡”。
group_generation_request消息的发送例如可以借助HTTP获取指令来实现,该HTTP获取指令根据表1来构造。
GET http://glms.abc.de/script?action=create_group http/1.1 |
<?xml version=″1.0″?> |
<dynamic_group name=″My friends in Hamburg″> |
<member uri=″sip:freund_01@web.de″/> |
<member uri=″sip:freund_02@web.de″/> |
... |
<member uri=″sip:freund_20@web.de″/> |
<criteria> |
<location_criteria> |
<in_city name=″Hamburg″satisfy=″yes″/> |
</location_criteria> |
</criteria> |
</dynamic_group> |
表1
HTTP获取指令在[3]中被说明(使用HTTP的情况下的组管理操作在[2]中被说明)。
在表1中和在其它表格中用粗体表示根据实施例相对于传统的消息附加设置的录入项。
在步骤408,GM服务器计算机403作为应答向PoC客户端单元401发送group_generation_response(组生成响应)消息424,该group_generation_response消息424包含PoC组的唯一组标识符,在这种情况下,即为标识符sip:myfriends@abc.de。
在步骤409,PoC客户端单元401的用户选出PoC组并且确定第二准则(criteria_2)(第一准则和第二准则可以分别由多个准则构成),以便借助PoC客户端单元401与PoC组中的满足第一准则和第二准则的潜在组成员开始PoC会话。通过第一准则和第二准则,动态地描述PoC组,因为随时间的变化,潜在组成员(即在group_generation_request消息423中所包含的用户列表中所列出的用户)是否满足第一准则和第二准则可改变。
PoC客户端单元401的用户想要,在要开始的PoC会话期间考虑PoC组的当前成分。PoC组在一时刻当前由满足第一准则和第二准则的潜在组成员组合。尤其是,在PoC会话的过程中,当迄今为止还未参与PoC会话的潜在组成员满足第一准则和第二准则(与前面相反)时,这些潜在组成员被邀请参加PoC会话。为了实现这一点,PoC客户端单元401的用户设置自动更新标记(automatic_update_flag)。
在步骤410,为了开始PoC会话,用户向PoC控制服务器计算机402发送INVITE(邀请)消息425。该INVITE消息425根据SIPINVITE来构造。SIP INVITE在[4]中被说明。INVITE消息425包含第二准则(criteria_2)的规范以及设置自动更新标记的规范。这例如借助相对于现有技术重新定义的内容类型来实现。INVITE消息425例如根据表2来构造。
INVITE sip:myfriends@abc.de SIP/2.0 |
... |
Content-Type:application/criteria+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<criteria> |
<presence_criteria> |
<on_work satisfy=″no″/> |
</presence_criteria> |
<automatic_update value=″yes″/> |
</criteria |
表2
在步骤411,PoC控制服务器计算机402在获得INVITE消息425之后确定,该PoC控制服务器计算机402不能决定PoC组,即该PoC控制服务器计算机402不能确定,PoC组当前由哪些组成员组成。
相应地,PoC控制服务器计算机402通过在步骤412传送第一SUBSCRIBE(订阅)消息426而向GM服务器计算机403请求,以便确定当前(现有的)组成员,也就是确定由其当前组成PoC组的组成员。为了使得GM服务器计算机403能确定目前的组成员,第一SUBSCRIBE消息426包含第二准则。第一SUBSCRI BE消息426在该实施例中根据SIP SUBSCRIBE来构造,例如根据表3(SIP SUBSCRIBE在[5]中被说明)来构造。
SUBSCRIBE sip:myfriends@abc.de SIP/2.0 |
... |
Event:dynamic_group |
Accept:application/dynamic_group_info+xml |
Content-Type:application/criteria+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<criteria> |
<presence_criteria> |
<on_work satisfy=″no″/> |
</presence_criteria> |
</criteria> |
表3
如上所提及的那样,第二准则在于,组成员目前不会工作。
由于GM服务器计算机403为了确定目前的组成员而必需潜在组成员(或由潜在组成员所使用的PoC客户端单元)的停留位置(位置状态(Location-Status)),所以GM服务器计算机403在步骤413向位置服务器计算机404发送(根据SIP SUBSCRIBE的)第二SUBSCRIBE消息427,以便向位置服务器计算机404订阅并且告知潜在组成员的相应位置状态。
此外,为了确定目前的组成员,GM服务器计算机403必需潜在组成员目前是否工作的信息。这些信息针对每个潜在组成员被包含在对于该组成员由呈现服务器计算机405所管理的呈现信息(呈现状态(Presence-Status))中。相应地,GM服务器计算机403在步骤414向呈现服务器计算机405发送第三SUBSCRIBE消息428。针对每个潜在组成员传送第二SUBSCRIBE消息427和第三SUBSCRIBE消息428。在图4中,这示例性地针对标识符为sip:freund_01@web.de的第一组成员示出,该标识符被包含在第一SUBSCRIBE消息427和第二SUBSCRIBE消息428中。
如所提及的那样,第一准则在于,这些朋友、即潜在组成员会停留在城市“汉堡”。可替换地,第一准则也可以是与用户(或PoC客户端单元401)的停留位置相关的位置准则。第一准则例如可能是,仅仅是停留在用户或PoC客户端单元401的位置方圆5km以内的潜在组成员(或其PoC客户端单元)。在这种情况下,GM服务器计算机403为了确定目前的组成员也必需PoC客户端单元401的用户的位置信息,并且不仅分别针对所有潜在组成员而且针对PoC客户端单元401的用户相应地向位置服务器计算机404发送第一SUBSCRIBE消息427。可是,其后假设,第一准则是组成员会停留在城市“汉堡”。
如所提及的那样分别针对每个潜在组成员向位置服务器计算机404传送的第一SUBSCRIBE消息427由位置服务器计算机404在步骤415分别以第一NOTIFY(通知)消息429应答,该第一NOTIFY消息429包含相应组成员的位置状态。
类似地,在步骤416,第二SUBSCRIBE消息428、必要时针对每个组成员发送给呈现服务器计算机405的第二SUBSCRIBE消息428分别由呈现服务器计算机405通过将第二NOTIFY消息430传送给GM服务器计算机403来应答。
第二NOTIFY消息430对于相应潜在的组成员包含该相应潜在的组成员目前是否工作的信息。
在使用在步骤415和416向其传送的信息的情况下,GM服务器计算机通过对于每个潜在组成员检验该潜在组成员是否满足第一准则和第二准则而在步骤417确定目前的组成员。在步骤418,GM服务器计算机403借助第三NOTIFY消息431向PoC控制服务器计算机402传送目前的组成员的列表(current_member_list)。第三NOTIFY消息431在该例子中根据SIP NOTIFY和根据表4来构造。
NOTIFY sip:gm-server@abc.de SIP/2.0 |
... |
Event:dynamic_group |
Content-Type:application/dynamic_group_info+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<dynamic_group_info> |
<member uri=″sip:freund_05@web.de″/> |
<member uri=″sip:freund_09@web.de″/> |
<member uri=″sip:freund_14@web.de″/> |
</dynamic_group_info> |
表4
在接收到第三NOTIFY消息431之后,PoC控制服务器计算机402被告知,哪些用户是目前的组成员。可选地,现在还执行步骤419和420。在步骤419,PoC控制服务器计算机借助MESSAGE消息432向PoC客户端单元401发送目前的组成员的列表(current_member_list),在另一实施形式中仅仅发送目前的组成员的数量的说明。MESSAGE消息432被构造为SIP MESSAGE(SIP消息)。SIP MESSAGE在[6]中被说明。
在步骤420,PoC客户端单元401借助同样根据SIP MESSAGE构造的第二MESSAGE消息433应答,并且在该实例中规定,实际上应开始与目前的组成员的PoC会话。
在步骤421,PoC控制服务器计算机402向所有目前的组成员发送第二INVITE消息434,在该例子中向所有其它的PoC客户端单元406发送第二INVITE消息434。第二INVITE消息434被构造为SIPINVITE。步骤421显然是邀请所有其它的PoC客户端单元406参加要建立的PoC会话。这以传统的方式来执行。作为应答,其它的PoC客户端单元406分别向PoC控制服务器计算机401发送(根据SIP 200 OK的)第一200 OK消息435。
通过发送第一200 OK消息435,其它的PoC客户端单元406之一(或相对应的用户)接受参加要建立的PoC会话的邀请。在PoC控制服务器计算机402已接收到第一200 OK消息435之后(也就是只要目前的组成员之一已接受参加PoC会话的邀请),PoC控制服务器计算机向PoC客户端单元401发送第二200OK消息436,该第二200 OK消息436用信号通知,目前的组成员之一已接受参加PoC会话的邀请。
现在,与PoC客户端单元401的用户的所有朋友进行PoC会话,这些朋友均满足第一准则和第二准则(并且已接受参加PoC会话的邀请)。
图5示出了根据本发明的实施例的消息流图500。
所示的消息流类似于参照图4所说明的实施例而发生在PoC客户端单元501、PoC控制服务器计算机502、GM服务器计算机503、位置服务器计算机504、呈现服务器计算机505与其它的PoC客户端单元506之间。
在该实施例中,以此为出发点,即PoC客户端单元501的用户想要与PoC的目前停留在与该PoC客户端单元501的用户相同的大学中并且目前不工作的所有用户开始PoC会话。“目前的组成员”等的表达其后类似于参照图4所阐述的实施例而被使用。
在步骤507,PoC客户端单元501向GM服务器计算机503传送group_generation_request消息524,以便请求产生PoC组。group_generation_request消息524包含第一准则(criteria_1)的规范,该第一准则说明,组成员在PoC会话的时刻、也就是在PoC会话的范围中使用PoC组的时刻会停留在与PoC客户端单元501的用户相同的大学中。此外,group_generation_request消息524包含第二准则(criteria_2)的规范,该第二准则说明,(PoC组的)目前的组成员不会工作。group_generation_request消息524例如根据表5来构造,并且用户通过传送group_generation_request消息524来建立PoC组,该PoC组通过第一准则和第二准则来动态地被定义。
GET http://glms.abc.de/script?action=create_group HTTP/1.1 |
<?xml version=″1.0″?> |
<dynamic_group name=″People with free time in Hamburg″> |
<criteria> |
<location_criteria> |
<in_university name=″TU Hamburg″satisfy=″yes″/> |
</location_criteria> |
<presence_criteria> |
<on_work satisfy=″no″/> |
<presence_criteria> |
</criteria> |
</dynamic_group> |
表5
现在,必需的是,GM服务器计算机503确定所有PoC用户,这些PoC用户满足第一准则和第二准则。
在一未在图5中示出的实施形式中,GM服务器计算机530如下动作。与参照图4所阐述的实施形式相反,PoC客户端单元501未将潜在组成员的列表传送给GM服务器计算机503。因此,GM服务器计算机503确定作为基础的潜在组成员的列表,显然是确定普通的成员列表。为此,GM服务器计算机向一个或者多个网络单元请求已知的或者合适的PoC客户端单元的列表。网络单元例如是也为了在PoC客户端单元501与GM服务器计算机503之间进行通信而提供通信网络的HLR((相同运营商(Operator)的)归属位置寄存器(Home Location Register))、“元(Meta)”HLR(也就是已存储不同运营商的HLR的信息的HLR)或者不同运营商的不同HLR。
GM服务器计算机503显然将如此被请求的、潜在组成员的列表用作基础并且类似于参照图4所阐述的步骤413和414将SUBSCRIBE消息针对每个潜在组成员发送到位置服务器计算机504或发送到呈现服务器计算机505,并且以这种方式确定对确定目前的组成员列表所必需的、潜在组成员的位置信息和呈现信息。紧接着,GM服务器计算机503确定目前的组成员列表(current_member_list)。由于GM服务器计算机503在该实施例中确定的潜在组成员的列表通常会很大,所以尤其是为了制订潜在组成员的列表而需要非常高的信令开销。因此,优选也在图5中示出的以下实施形式。
在步骤508,GM服务器计算机503向位置服务器计算机504发送第一SUBSCRIBE消息525。第一SUBSCRIBE消息525不仅被发送给位置服务器计算机504,而且被发送给所有适当的位置服务器,也就是发送给管理PoC客户端单元的位置信息的位置服务器。
示例性地,根据位置服务器计算机504阐述其它序列。在步骤508所传送的第一SUBSCRIBE消息525具有第一准则(其显然是位置专用的)的规范。第一SUBSCRIBE消息525例如根据表6来构造。
SUBSCRIBE sip:loc-server@abc.de SIP/2.0 |
... |
Event:matched_users |
Accept:application/matched_user_info+xml |
Content-Type:application/criteria+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<criteria> |
<location_criteria> |
<in_university name=″TU Hamburg″satisfy=″yes″/> |
</location_criteria> |
</criteria> |
表6
在步骤509,通过向GM服务器计算机503传送第一NOTIFY消息526,位置服务器504应答GM服务器503的订阅,也就是应答第一SUBSCRIBE消息525。以这种方式,位置服务器计算机504将满足第一准则的(PoC)用户的列表(或由用户使用的PoC客户端单元的列表)(匹配用户列表1(matched_users_list_1))用信号通知给GM服务器计算机503。第一NOTIFY消息526例如根据表7来构造。
NOTIFY sip:gm-server@abc.de SIP/2.0 |
... |
Event:matched_users |
Content-Type:application/matched_user_info+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<matched_user_info> |
<matched_user uri=″sip:hans@web.de″/> |
<matched_uset uri=″sip:peter@web.de″/> |
<matched_user uri=″sip:lustig@web.de″/> |
</matched_user_info> |
表7
步骤510和511类似于步骤508和509来执行。也就是说,GM服务器计算机503在步骤510将具有第二准则的规范的第二SUBSCRIBE消息527传送给呈现服务器计算机505(示例性地、类似上面地分别将第二SUBSCRIBE消息传送给所有合适的呈现服务器计算机)。在步骤511,呈现服务器计算机505通过向GM服务器计算机503传送第二NOTIFY消息528来应答,该第二NOTIFY消息528包含满足第二准则的(PoC)用户的列表(或由用户所使用的PoC客户端单元的列表)(matched_users_list_2)。
在步骤512,GM服务器计算机503通过构成满足第一准则的用户(或由用户所使用的PoC客户端单元)的列表和满足第二准则的用户(或由用户所使用的PoC客户端单元)的列表的交集来确定目前的组成员列表(current_member_list)。
在另一实施形式中,第二SUBSCRIBE消息527仅向这种呈现服务器计算机发送,这些呈现服务器计算机管理关于被列在NOTIFY消息526中的用户(或由用户所使用的PoC客户端单元)的呈现信息。显然,GM服务器计算机503仅仅询问满足第一准则的用户。相应地,GM服务器计算机503在步骤511只针对满足第一准则的用户得到呈现信息。在使用呈现信息和在步骤509所获得的信息的情况下,GM服务器计算机503在步骤512确定目前的组成员列表。
其它过程与目前的组成员列表如何被确定无关,尤其是,如果如上所述的那样GM服务器计算机503首先通过例如向一个或者多个HLR请求相应的信息来确定潜在组成员的列表,则也执行下列过程。
在步骤513,GM服务器计算机503通过向PoC客户端单元501传送group_generation_response消息529来应答由PoC客户端单元501在步骤507所进行的请求。group_generation_response消息529包含所建立的PoC组的唯一的组标识符(在这种情况下为sip:myfriends@abc.de)和目前的组成员列表(或者可替换地只有用户的数量,该数量是目前的组成员列表的部分)。
在稍后的时刻,在步骤514,PoC客户端单元501的用户选出PoC组,以便借助第一PoC客户端单元501与PoC组的目前组成员开始PoC会话。此外,也在PoC会话期间考虑PoC组的当前成分,也就是目前的组成员(即使这些成员在PoC会话的过程中变化)始终应该是PoC会话的部分(当这些成员接受邀请时)。
例如,在PoC会话的过程中,只要组成员满足第一准则和第二准则,这些组成员就应被邀请。为了实现这一点,用户设置自动更新标记(automatic_update_flag)。
在步骤515,用户借助第一PoC客户端单元501发送第一INVITE消息530,以便开始PoC会话。第一INVITE消息530在该例子中根据被寄给唯一的组标识符的SIP INVITE来构造。在第一INVITE消息530中规定,例如通过将该规范作为SIP头部(SIP消息头)而包含在第一INVITE消息530中来设置自动更新标记。相应地,第一INVITE消息530根据表8来构造。
INVITE sip:myfriends@abc.de SIP/2.0 |
... |
Update-frequency:numerical Value |
... |
表8
在步骤516,PoC控制服务器计算机502在获得第一INVITE消息530之后确定,该PoC控制服务器计算机502不能决定借助组标识符所规定的PoC组。在步骤531,因此,该PoC控制服务器计算机502借助第三SUBSCRIBE消息531向GM服务器计算机503请求,该GM服务器计算机503确定目前的组成员。第三SUBSCRIBE消息531根据SIPSUBSCRIBE和根据表9来构造。
SUBSCRIBE sip:myfriends@abc.de SIP/2.0 |
... |
Event:dynamic_group |
Accept:application/dynamic_group_info+xml |
Content-Length:0 |
表9
在步骤518,GM服务器计算机503通过借助第三NOTIFY消息518将目前的组成员的列表传送给PoC控制服务器计算机502来应答第三SUBSCRIBE消息531。第三NOTIFY消息532根据表10来构造。
NOTIFY sip:poc-server@abc.de SIP/2.0 |
... |
Event:dynamic_group |
Content-Type:application/dynamic_group_info+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<dynamic_group_info> |
<member uri=″sip:freund_05@web.de″/> |
<member uri=″sip:freund_09@web.de″/> |
<member uri=″sip:freund_14@web.de″/> |
</dynamic_group_info> |
表10
在接收到第三NOTIFY消息532之后,PoC控制服务器计算机502被告知,哪些用户是目前的组成员。可选地,现在还执行步骤519和520。在步骤519,PoC控制服务器计算机502借助UPDATE(更新)消息533给PoC客户端单元501发送目前的组成员的列表(current_member_list),在另一实施形式中只将目前的组成员的数量的说明发送给PoC客户端单元501。UPDATE消息533被构造为SIPUPDATE(或者可替换地被构造为SIP INFO)。
在步骤520,PoC客户端单元501借助第二UPDATE消息534来应答,该第二UPDATE消息534同样根据SIP UPDATE来构造并且在该例子中规定,实际上会与目前的组成员开始PoC会话。PoC客户端单元501在该时刻可以通过代替第二UPDATE消息534而将(根据参看[4]的SIP CANCEL的)CANCEL(取消)消息传送给PoC控制服务器计算机502来结束该序列。
在步骤521,PoC控制服务器计算机502向所有目前的组成员发送第二INVITE消息535,在该例子中向所有其它的PoC客户端单元506发送第二INVITE消息535。第二INVITE消息535被构造为SIPINVITE。步骤521显然是邀请所有其它的PoC客户端单元506参加要建立的PoC会话。这以传统的方式来执行。作为应答,其它的PoC客户端单元506分别向PoC控制服务器计算机401发送(根据SIP 200 OK的)第一200 OK消息536。
通过发送第一200 OK消息536,其它的PoC客户端单元506之一(或相对应的用户)接受参加要建立的PoC会话的邀请。在PoC控制服务器计算机502已接收到第一200 OK消息536之后(即只要目前的组成员之一已接受参加PoC会话的邀请),PoC控制服务器计算机向PoC客户端单元401发送第二200 OK消息537,该第二200 OK消息537用信号通知,目前的组成员之一已接受参加PoC会话的邀请。
现在,与满足第一准则和第二准则(并且已接受参加PoC会话的邀请)的所有PoC用户进行PoC会话。
在经过图4和图5中所示的消息流之后,如所述的那样,在第一PoC客户端单元401、501与目前的组成员列表由其组成的PoC客户端单元之间建立PoC会话。以下,参照图6和图7说明,当目前的组成员列表的成分改变时,如何根据本发明的一个实施例进展。
图6示出了根据本发明的实施例的消息流图600。
根据图4和图5,在PoC客户端单元601、PoC控制服务器计算机602、GM服务器计算机603、位置服务器计算机604与其它的PoC客户端单元605之间执行所示的消息流,这些单元对应于在图4和图5中示出的相应网络元件。此外,新添加的PoC客户端单元606参加所示的消息流。
如所提及的那样,以此为出发点,与作为参与者的目前的组成员建立PoC会话,此外还假设,设置自动更新标记并且告知PoC控制服务器计算机602,例如借助在步骤515中所传送的第一INVITE消息530来进行设置和告知。
假设,新添加的PoC客户端单元606(或新添加的PoC客户端单元的用户)迄今为止还未参与PoC会话。例如,目前的组成员列表根据该准则确定,目前组成员会(与其PoC客户端单元一起)停留在汉堡,新添加的PoC客户端单元606的用户(这是名称为Freund_17的用户)迄今为止还没有停留在汉堡,但是在已建立的PoC会话期间返回汉堡。
此外假设,GM服务器计算机603请求位置服务器604,获得关于用户Freund_17的位置信息,例如在步骤413已针对用户Freund_17将相对应的第二SUBSCRIBE消息427传送给位置服务器404,因为用户Freund_17出现在潜在组成员的列表上。根据其确定目前的组成员列表的可能的其它准则(例如如上的关于组成员的可用性的准则)由用户Freund_17满足,例如该用户已设置相对应的呈现状态。
在步骤607,根据其请求借助第一NOTIFY消息614告知GM服务器计算机603,具有新添加的PoC客户端单元606的用户Freund_17又在汉堡,也就是将用户Freund_17的位置状态(location_status_17)告知给GM服务器计算机603。
在获得第一NOTIFY消息314之后,GM服务器计算机603在步骤608重新确定目前的组成员列表,重新根据这些准则明确地过滤,并且现在确定,用户Freund_17满足所有预给定的准则。
如上所述,PoC控制服务器计算机602也向GM服务器计算机603发送SUBSCRIBE消息(例如步骤412的第一SUBSCRIBE消息426)并且因此请求,将PoC组的目前成分告知给该GM服务器计算机603。
相应地,GM服务器计算机603在步骤609向PoC控制服务器计算机602发送第二NOTIFY消息615,借助该第二NOTIFY消息615告知该PoC控制服务器计算机602,添加新的目前组成员(new_member_17)。
以下步骤610和611可选地来执行。
在步骤610,PoC控制服务器计算机602向PoC客户端单元601发送(根据SIP MESSAGE的)第一MESSAGE消息616并且因此将新添加的目前组成员告知给PoC客户端单元601。
PoC客户端单元601作为应答在步骤611发送第二MESSAGE消息617,借助该第二MESSAGE消息617,PoC客户端单元601确认,用户Freund_17应被添加到进行的PoC会话,也就是应被邀请参加进行的PoC会话。在步骤612,PoC控制服务器计算机602邀请新添加的PoC客户端单元606参加PoC会话。这通过传送INVITE消息618来实现。新添加的PoC客户端单元606在步骤613中借助200 OK消息619应答该INVITE消息618。步骤612和613以传统的方式根据SIP INVITE和SIP 200 OK来执行。紧接着,用户Freund_17也参与该PoC会话。
图7示出了根据本发明的实施例的消息流图700。
所示的消息流如图6中所示的那样发生在PoC客户端单元701、PoC控制服务器计算机702、GM服务器计算机703、位置服务器计算机704和其它PoC客户端单元705之间。如根据图6所阐述的序列开始时的假设适用,但是这次在PoC会话的过程中并未将新用户(或新的PoC客户端单元)添加到PoC会话,而是名称为Freund_05的用户所使用的离开的PoC客户端单元706离开PoC会话。
首先假设,用户Freund_05借助离开的PoC客户端单元706参与现有的PoC会话。尤其是,用户Freund_05迄今为止满足根据其确定目前的组成员的准则。现在假设,Freund_05违反了准则之一。例如,准则在于,目前的组成员会停留在城市“汉堡”,并且用户Freund_05随着离开的PoC客户端单元706离开城市“汉堡”。
类似于步骤607,位置服务器计算机704于是在步骤707将NOTIFY消息714发送给GM服务器计算机703,借助该NOTIFY消息714将用户Freund_05的新位置状态告知给GM服务器计算机。
类似于步骤608,GM服务器计算机703在步骤708重新确定PoC组的当前成分。在此,GM服务器计算机703确定,用户Freund_05不满足这些目前组成员应满足的准则。
相应地并类似于步骤609,在步骤709,GM服务器计算机703借助第二NOTIFY消息715告知PoC控制服务器计算机702,用户Freund_05不再是目前的组成员。
步骤710和711可选地被执行。在步骤710,PoC控制服务器计算机702向PoC客户端单元701发送(根据SIP MESSAGE构造的)第一MESSAGE消息716并且因此用信号通知PoC客户端单元701,用户Freund_05不再是目前的组成员(remove_member_05)。在步骤711,PoC客户端单元701借助(根据SIP MESSAGE的)第二MESSAGE消息717确认,用户Freund_05会从现有的PoC会话中被去除。
在步骤712,通过PoC控制服务器计算机702向离开的PoC客户端单元706发送BYE消息718,PoC控制服务器计算机702从现有的PoC会话中去除离开的PoC客户端单元706。
这在步骤713借助200 OK消息719确认离开的PoC客户端单元706。步骤712和713例如以传统的方式来执行。
接着,用户Freund_05不再是现有PoC会话的部分。
以下,参照图8和图9说明另一应用情况的实施例,其中执行不同于上述实施例中的信令。
图8示出了根据本发明的实施例的消息流图800。
类似于上述实施例,所示消息流发生在PoC客户端单元801、PoC控制服务器计算机802、GM服务器计算机803、位置服务器计算机804、呈现服务器计算机805以及其它的PoC客户端单元806之间。
考察PoC控制服务器计算机802的以下两个功能单元:会话控制器807以及媒体混合器(Media Mixer)808。会话控制器807负责PoC控制服务器计算机802的信令任务,即其执行要由PoC控制服务器计算机802执行的信令,例如执行用于邀请PoC客户端单元参加PoC会话的信令。该信令根据SIP(会话初始化协议)来执行。媒体混合器808调节PoC会话范围中的通信数据向所有参与PoC会话的PoC客户端单元的分配。
在该实施例中假设,PoC客户端单元801是柏林出租车公司的出租车中心的PoC客户端单元。(各装备有其它的PoC客户端单元906之一的)所有出租车司机应属于名称为“Taxis(出租车)”的PoC组。每次出租车中心得到运送乘客的订单时,在进行的PoC会话内应开始PoC通信,其中所有出租车司机(或由其使用的PoC客户端单元)会参与该PoC通信,这些出租车司机(或由其使用的PoC客户端单元)出于要运送的乘客方圆x千米内并将其呈现状态设置为“出租车闲置”,并且因此用信号通知,这些出租车司机正好没有运送乘客。
如下面所阐述的那样,通过标识符唯一地标识PoC会话内的PoC通信,并且在PoC通信的参与者(这些参与者是PoC会话的参与者的子组)之间交换(PoC会话的范围中的和PoC通信的范围中的)语音数据。明显地,例如在一整天期间(在所有出租车司机与出租车中心之间)存在的PoC会话的过程中建立多个PoC通信,在这些PoC通信的范围中(在相应的PoC通信的参与者之间)传送多个在内容上相互联系的语音消息。
在PoC会话内产生多个PoC通信(针对每个输入的订单一个PoC通信)相对于产生多个PoC会话(每个订单一个PoC会话)具有以下优点,即需要显著更低的信令开销。
首先,以传统的方式在PoC客户端单元801与其它的PoC客户端单元806之间建立PoC会话(该步骤并未示出),这些其它的PoC客户端单元806如所提及的那样是所有注册的出租车的PoC客户端单元,也就是目前提供服务的所有出租车(不取决于这些出租车是闲置还是被占用)的PoC客户端单元。这可以以传统的方式来执行,例如如参照图1所阐述的那样。对于其它部分不重要的是,是涉及所谓的一对多对一(One-To-Many-To-One)拓扑结构(也就是说,PoC客户端单元801在PoC会话的范围中接收所有其它的PoC客户端单元806的通信数据,但是其它的PoC客户端单元806相互不接收通信数据,也就是不接收其它的PoC客户端单元806中的相应其它的PoC客户端单元的通信数据)还是涉及一对多拓扑结构(One-To-Many-Topology)(也就是说,PoC客户端单元801和其它的PoC客户端单元806也接收其它的PoC客户端单元806的所有通信数据,也就是彼此之间清楚地倾听)。
类似于上述实施例,例如类似于图4中的步骤413和415,在GM服务器计算机803与位置服务器计算机804之间,针对其它的PoC客户端单元806的每个PoC客户端单元交换第一SUBSCRIBE-NOTIFY(订阅通知)消息对803,以致,如上参照图4所说明的那样,由位置服务器计算机804不断地将其它的PoC客户端单元806的当前位置状态用信号通知给GM服务器计算机803。
类似地,在步骤810,在GM服务器计算机803与呈现服务器计算机805之间交换第二SUBSCRIBE-NOTIFY消息对834,以致由呈现服务器计算机805不断地将其它的PoC客户端单元806的当前呈现状态告知给GM服务器计算机803,类似于上述实施例。
在步骤811,在第一PoC客户端单元801与其它的PoC客户端单元806之间存在PoC会话。
现在假设,运送处于柏林亚历山大广场(Alexanderplatz)上的乘客的第一订单到达出租车中心。借助以下序列步骤,现在由现有的PoC会话内的PoC客户端单元801与其它的PoC客户端单元中的以下PoC客户端单元建立PoC通信,这些PoC客户端单元
-参与现有的PoC会话,
-位于柏林亚历山大广场方圆3km内(在该例子中为第一准则),以及
-其呈现状态是“出租车闲置”(在该例子中为第二准则)。
其它的PoC客户端单元806的PoC客户端单元以下被称为要参与的PoC客户端单元。
在步骤812,PoC客户端单元向PoC控制服务器计算机802发送具有相应内容类型(Application/Criteria+XML,参看表2)的(根据SIPSIP re-INVITE构造的)re-INVITE(再邀请)消息835,借助该内容类型规定第一准则和第二准则。re-INVITE消息835在一实施例中包含唯一的PoC通信标识符(PK_id_prop)。在步骤813,PoC控制服务器计算机802生成(自己的)PoC通信标识符(PK_id)。在步骤814,PoC控制服务器计算机802向PoC客户端单元801以(根据SIP 183 session processing(会话处理)所构造的)183-session-processing(183会话处理)消息836的形式发送确认(显然作为临时的应答),借助该183-session-processing消息836也用信号通知PoC通信标识符PK_id。
PoC通信标识符例如是端口号,该端口号能够实现唯一地寻址针对应用专用的数据的应用。在一实施形式中,存在两个PoC通信标识符,例如在PoC客户端单元801侧存在PoC通信标识符PK_id_prop,而在PoC控制服务器计算机802侧存在PoC通信标识符PK_id。
在步骤815,PoC控制服务器计算机802向GM服务器计算机803发送SUBSCRIBE消息837,借助该SUBSCRIBE消息837用信号通知PoC通信标识符PK_id、第一准则和第二准则。
如上面所述的那样,不断地将其它的PoC客户端单元806的每个PoC客户端单元的当前位置状态和当前呈现状态告知给GM服务器计算机803。根据这些信息,GM服务器计算机803在步骤816确定所有要参与的PoC客户端单元,也就是确定其它的PoC客户端单元806中的满足第一准则和第二准则的所有PoC客户端单元。
要参与的PoC客户端单元806由GM服务器计算机被规定在目前的组成员列表(current_member_list)中。在步骤817,GM服务器计算机803向PoC控制服务器计算机802发送NOTIFY消息838,借助该NOTIFY消息838,PoC控制服务器计算机802用信号通知目前的组成员列表,该列表是PoC通信的目前的组成员列表,该列表通过在SUBSCRIBE消息837中所包含的PoC通信标识符PK_id来规定。
步骤818和819可选地被执行。在步骤818,PoC服务器计算机802借助POC客户端单元801的第一MESSAGE消息839用信号通知,其它的PoC客户端单元806中的哪些PoC客户端单元满足第一准则和第二准则。在另一实施形式中,PoC控制服务器计算机802仅仅用信号通知要参与的PoC客户端单元的数量,即用信号通知满足第一准则和第二准则的其它的PoC客户端单元806的数量(#_of_members)。
在步骤819,第一PoC客户端单元801用信号通知,是否应与由目前的组成员列表规定的PoC客户端单元建立PoC通信。在该例子中假设,不应与由当前的组成员列表规定的PoC客户端单元建立PoC通信。例如,当前的PoC客户端单元列表具有100个PoC客户端单元的规范,并且用户在出租车中心决定其过多。
相应地,PoC客户端单元801在步骤819向PoC控制服务器计算机802发送第二MESSAGE消息840,借助该MESSAGE消息840规定,不应与由当前的组成员列表规定的PoC客户端单元建PoC通信(accept=no)。此外,第二 MESSAGE消息840包含修改过的准则(criteria_update),例如第一准则改变为:要参与的PoC客户端单元不应位于柏林亚历山大广场的三千米内,而是位于柏林亚历山大广场方圆一千米内。根据修改过的准则,类似于步骤815、816和817确定(新的)当前的组成员列表,尤其是在PoC控制服务器计算机802与GM服务器计算机803之间交换第三SUBSCRIBE-NOTIFY消息对841。
类似于步骤818,PoC客户端单元801用信号通知(新的)当前的组成员列表(未示出)。现在假设,应与由新的当前的组成员列表规定的PoC客户端单元建PoC通信。相应地,PoC客户端单元801在步骤821向PoC控制服务器计算机802发送第三MESSAGE消息842,PoC客户端单元801借助该第三MESSAGE消息842规定,应与要参与的PoC客户端单元(满足修改过的准则的PoC客户端单元)建PoC通信(accept=yes)。
借助PK_start消息843,会话控制器807在步骤822用信号通知媒体混合器808,该媒体混合器808在现有的PoC会话内产生新的PoC通信。PK_start消息843包含所产生的PoC通信的PoC通信标识符PK_id和当前的组成员列表。
在步骤823,媒体混合器808借助OK消息844确认接收到PK_start消息843。在步骤824,PoC控制服务器计算机802作为对re-INVITE消息835的应答而发送200 OK消息845。
在步骤825,PoC客户端单元801向PoC控制服务器计算机802发送Floor-Request(发言权请求)消息846,由此该PoC客户端单元801在所产生的PoC通信的范围中请求发言权,也就是请求用于发送通信数据的权利。Floor-Reques t消息846包含所产生的PoC通信的PoC通信标识符PK_id。
在步骤826决定,PoC客户端单元801是否被给予发言权,该发言权可由会话控制器807或者媒体混合器808来决定,因此必要时在会话控制器807与媒体混合器808之间交换消息,或者Floor-Request消息846被直接发送给媒体混合器808。假设,PoC客户端单元801被给予发言权。相应地,按照PoC控制服务器计算机802的哪些功能单元给予发言权,在步骤827,媒体混合器808将Floor_Granted(给予发言权)消息848发送给PoC客户端单元801,或在步骤828,会话控制器807将Floor_Granted消息848发送给PoC客户端单元801,PoC客户端单元801借助该Floor_Granted消息848被给予发言权。
(按照PoC控制服务器计算机802的哪些功能单元给予发言权),在步骤829,会话控制器807将Floor_Taken(得到发言权)消息849发送给所有要参与的PoC客户端单元,或在步骤830,媒体混合器808将Floor_Taken消息849发送给所有要参与的PoC客户端单元,借助该Floor_Taken消息849用信号通知要参与的PoC客户端单元806(也就是其它的PoC客户端单元806中的借助当前的组成员列表所规定的PoC客户端单元),在PoC通信的范围中,该发言权已被给予PoC客户端单元801,该PoC通信通过被包含在Floor-Taken消息849中的PoC通信标识符PK_id来规定。
现在,在步骤831,PoC客户端单元801在所产生的PoC通信的范围中向媒体混合器808发送通信数据850,用于转发给要参与的PoC客户端单元,该PoC通信通过PoC通信标识符PK_id来规定。在步骤832,媒体混合器808向要参与的PoC客户端单元转发通信数据850,该媒体混合器808在步骤822中预先被告知这些要参与的PoC客户端单元。
如果其它订单到达出租车中心,则与所产生的PoC通信无关地借助re-INVITE消息类似于步骤812开始另一PoC通信。以这种方式,出租车中心为了每个订单而在一现有的PoC会话内引导独立的、与其它订单无关的PoC通信。
通过在现有的PoC会话的范围内产生其它的PoC通信,子组通信也可以与组通信并行地或在组通信内被实现,只有一部分组成员参与这些组通信,例如“Whispering”或者“Sidebars”。
图9示出了根据本发明的实施例的消息流图900。
类似于参照图8所述的消息流,图9中所示的消息流发生在(出租车中心的)PoC客户端单元901、PoC控制服务器计算机902、GM服务器计算机903、位置服务器计算机904、呈现服务器计算机905与(出租车司机的)其它的PoC客户端单元906之间,该PoC控制服务器计算机902具有会话控制器907和媒体混合器908。
以下所描述的实施例是参照图8所描述的实施例的变型。
步骤909、910和911类似于步骤809、810和811进行。
在步骤912,PoC客户端单元901代替如在步骤812的re-INVITE消息835而向PoC控制服务器计算机902发送Floor-Request消息934。
在步骤913和914、916和917,在媒体混合器908调节发言权分配的情况下,在会话控制器907与媒体混合器908之间交换消息。
类似于消息813至823地执行步骤915、918至927(但是在步骤918传送OK消息,而不是如在步骤814那样传送183-session-processing消息)。在该实施例中,200 OK消息845未被发送,该200 OK消息845是对re-INVITE消息835的应答,该re-INVITE消息835根据图9中所示的消息流未被发送。此外,Floor-Request消息846未被发送,因为已经在步骤912发送了Floor-Request消息934。类似地,取消步骤826。类似于步骤827和828,在步骤929和928中向PoC客户端单元901发送Floor-Granted消息935,该Floor-Granted消息935是对Floor-Request消息934的应答。其它步骤930-933类似于步骤829-832进行。
类似于参照图6和图7所说明的序列,在根据图8和图9的这些实施形式中,组成员也可添加到组或者离开组。这可类似于参照图6和图7来执行并且未更详细地阐述。
图10示出了根据本发明的实施例的消息流图1000。
所示的消息流发生在PoC客户端单元1001、PoC控制服务器计算机1002、GM服务器计算机1003、位置服务器计算机1004、呈现服务器计算机1005以及其它的PoC客户端单元1006之间,这些单元如参照图3所述地那样来布置和构造,其中,第二PoC客户端单元302和第三PoC客户端单元303对应于其它的PoC客户端单元1006。
在以下所述的实施例中假设,PoC客户端单元1001的用户想要与以下对象开始PoC会话:
-其所有朋友,
-目前停留在与PoC客户端单元1001的用户相同的城市的对象(在该例子中,这是第一准则;criteria_1),
-以及目前不工作的对象(在该例子中,这是第二准则;criteria_2)。
对此,PoC客户端单元1001通过在步骤1007发送group_generation_request消息1023而在GM服务器计算机1003中建立PoC组。为了定义PoC组,用户传送被包含在group_generation_request消息1023中的、二十个不同用户(用户的朋友,这些朋友是潜在的组成员)的列表(member_list)和在group_generation_request消息1023中所规定的第一准则(cfiteria_1),即这些朋友在使用PoC组的时刻会停留在城市“汉堡”。
group_generation_request消息1023的发送例如可以借助HTTP获取指令来实现,该HTTP获取指令根据表1来构造。
GET http://glms.abc.de/script?action=create_group http/1.1 |
<?xml version=″1.0″?> |
<dynamic_group name=″My friends in Hamburg″> |
<member uri=″sip:freund_01@web.de″/> |
<member uri=″sip:freund_02@web.de″/> |
... |
<member uri=″sip:freund_20@web.de″/> |
<criteria> |
<location_criteria> |
<in_city name=″Hamburg″satisfy=″yes″/> |
</location_criteria> |
</criteria> |
</dynamic_group> |
表1
HTTP获取指令在[3]中被说明(在使用HTTP的情况下的组管理操作在[2]中被说明)。
在表1中和在其它表格中,黑体示出了根据这些实施例相对于传统消息附加设置的录入项。
在步骤1008,GM服务器计算机1003作为应答向PoC客户端单元1001发送group_generation_response消息1024,该group_generation_response消息1024包含PoC组的唯一的组标识符。
在步骤1009,PoC客户端单元1001的用户选出PoC组并且确定第二准则(criteria_2)(第一准则和第二准则分别也可以由多个准则组成),以便借助PoC客户端单元1001与PoC组中的满足第一准则和第二准则的潜在组成员开始PoC会话。通过第一准则和第二准则动态说明PoC组,因为潜在的组成员、也就是被列在包含group_generation_request消息1023的用户列表的用户是否满足第一准则和第二准则随着时间变化。
PoC客户端单元1001的用户想要,在要开始的PoC会话期间考虑PoC组的当前成分。PoC组在一时刻当前由满足第一准则和第二准则的潜在组成员组成。尤其是在PoC会话的过程中,当迄今为止未参与PoC会话的潜在组成员(与以前相反)满足第一准则和第二准则时,这些组成员应被邀请参加PoC会话。为了实现这一点,PoC客户端单元1001的用户设置自动更新标记(automatic_update_flag)。
在步骤1010,用户向PoC控制服务器计算机1002发送INVITE消息1025,以开始PoC会话。INVITE消息1025根据SIP INVITE来构造。SIP INVITE在[4]中被说明。INVITE消息1025包含第二准则(criteria_2)的规范以及设置自动更新标记的规范。这例如借助相对于现有技术重新定义的内容类型来实现。INVITE消息1025例如根据表2来构造。
INVITE sip:myfriends@abc.de SIP/2.0 |
... |
Content-Type:application/criteria+xml |
Content-Length:(...) |
<?xml version=″1.0″?> |
<criteria> |
<presence_criteria> |
<on_work satisfy=″no″/> |
</presence_criteria> |
<automatic_update value=″yes″/> |
</criteria |
表2
在步骤1011,PoC控制服务器计算机1002在获得INVITE消息1025之后确定,该PoC控制服务器计算机1002必须决定该PoC组的参与者列表,也就是说,该PoC控制服务器计算机1002应该确定,PoC组当前由哪些组成员组成。
相应地,PoC控制服务器计算机1002通过在步骤1012传送groupresolve request(组决定请求)消息1026来请求GM服务器计算机1003,以便决定组的参与者列表,也就是确定PoC组当前由其组成的组成员。组决定请求消息1026包含PoC组的唯一组标识符,在这种情况下该标识符为sip:myfriends@abc.de。
一接收到group resolve request消息1026,GM服务器计算机1003就利用group resolve response消息1027中的属于该组的参数应答该PoC控制服务器计算机1002,这些参数在group_generation_request消息1023中已被确定(潜在组成员的列表和/或准则1、组中成员的最大数量(可选)、其它业务专用的参数(可选))(步骤1013)。
PoC控制服务器计算机1002在随后的步骤1014中确定所有参与者,这些参与者在潜在的组成员的列表上(如果存在)并且满足准则1(如果存在)和满足准则2(如果存在);因此这些用户构成目前的成员列表(PoC控制服务器计算机1002如何确定这些参与者取决于这些准则;参见上述应用实例)。
由于PoC控制服务器计算机1002为了确定目前的组成员而必需潜在的组成员(或由潜在的组成员所使用的PoC客户端单元)的停留位置(位置状态),所以PoC控制服务器计算机1002在步骤1015向位置服务器计算机1004发送(根据SIP SUBSCRIBE的)第一SUBSCRIBE消息1028,以便向位置服务器计算机1004订阅并且告知潜在组成员的相应位置状态。
此外,PoC控制服务器计算机1002为了确定目前的组成员必需以下信息,潜在组成员目前是否工作。该信息对于每个潜在组成员而被包含在针对呈现服务器计算机1005的组成员所管理的呈现信息(呈现状态)。相应地,PoC控制服务器计算机1002向呈现服务器计算机1005在步骤1016发送第二SUBSCRIBE消息1029。第一SUBSCRIBE消息1028和第二SUBSCRIBE消息1029针对每个潜在的组成员被传送。在图10中,这对于标识符为sip:freund_01@web.de的第一组成员示例性示出,该标识符被包含在第一SUBSCRIBE消息1028和第二SUBSCRIBE消息1029中。
如所提及的那样,第一准则在于,这些朋友、也就是潜在的组成员会停留在城市“汉堡”。可替换地,第一准则也可以是位置准则,该位置准则与用户(或PoC客户端单元1001)的停留位置相关。第一准则例如可能是,仅仅潜在组成员属于该组,这些潜在组成员(或其PoC客户端单元)停留在用户或PoC客户端单元1001的位置方圆5km内。在这种情况下,PoC控制服务器计算机1002为了确定目前的组成员也必需PoC客户端单元1001的用户的位置信息,并且不仅分别针对所有潜在组成员而且也针对PoC客户端单元1001的用户向位置服务器计算机1004相应发送第一SUBSCRIBE消息1028。可是继续假设,第一准则是组成员会停留在城市“汉堡”。
如所提及的那样分别针对每个潜在组成员向位置服务器计算机1004传送的第一SUBSCRIBE消息1028由位置服务器计算机1004在步骤1017分别以第一NOTIFY消息1030应答,该第一NOTIFY消息1030包含相应组成员的位置状态(例如location_status_01)。
类似地,在步骤1018,必要时针对每个组成员向呈现服务器计算机1005所发送的第二SUBSCRIBE消息1029分别由呈现服务器计算机1005通过向PoC控制服务器计算机1002传送第二NOTIFY消息1031来应答。第二NOTIFY消息1031针对相应的潜在组成员包含相应潜在组成员目前是否工作的信息(例如presence_status_01)。
必要时,在使用在步骤1017和步骤1018传送给其的信息的情况下,PoC控制服务器计算机1002在步骤1019确定目前的组成员,其方式是其对于每个潜在组成员检验,潜在组成员是否满足第一准则和第二准则。
因此,PoC控制服务器计算机1002被告知,哪些用户是目前的组成员。可选地,现在还执行步骤1020和1021。在步骤1020,PoC控制服务器计算机1002借助第一MESSAGE消息1032向PoC客户端单元1001发送目前组成员的列表(current_member_list),在另一实施形式中仅仅发送目前组成员的数量的说明。第一MESSAGE消息1032被构造为SIP MESSAGE。SIP MESSAGE在[6]中被说明。
在步骤1021,PoC客户端单元1001借助第二MESSAGE消息1033应答,该第二MESSAGE消息1033同样根据SIP MESSAGE来构造并且在该例子中规定,实际上会与目前的组成员开始PoC会话。
在步骤1022,PoC控制服务器计算机1002向所有目前组成员发送第二INVITE消息1034,在该例子中是向所有其它的PoC客户端单元1006发送第二INVITE消息1034。该第二INVITE消息1034被构造为SIP INVITE。步骤1022显然是邀请所有其它的PoC客户端单元1006参加要建立的PoC会话。这以传统的方式来执行。作为应答,其它的PoC客户端单元1006分别向PoC控制服务器计算机1002发送(根据SIP 200 OK的)第一200 OK消息1035(步骤1036)。
通过发送第一200 OK消息1035,其它的PoC客户端单元1006(或相对应的用户)的各个PoC客户端单元接受参加要建立的PoC会话的邀请。在PoC控制服务器计算机1002已接收到第一200 OK消息1035之后(也就是只要目前组成员之一已接受参加PoC会话的邀请),PoC控制服务器计算机1002产生第二200 OK消息1037并且将其发送给PoC客户端单元1001,其中第二200 OK消息1037用信号通知,目前的组成员之一已接受参加PoC会话的邀请。
现在与PoC客户端单元1001的用户的所有朋友进行PoC会话,该PoC客户端单元1001满足第一准则和第二准则(并已接受参加PoC会话的邀请)。
如果在第一INVITE消息1025中已设置自动更新标记,则PoC控制服务器计算机1002现在还继续考察,迄今的组成员是否不再满足这些准则或新参与者在此期间还是否满足这些准则,以致其始终知道组的当前成分,并且以致其可以相应地取消邀请或邀请组成员。
在另一实施形式中,在本发明的范围中所采用的通信业务是由3GPP(第三代合作伙伴计划(3rd Generation PartnershipProject))规定的“IMS会议(IMS Conferencing)”。这是会议通信业务,该会议通信业务基于IMS(基于网际协议的多媒体子系统(Internet Protocol based Multimedia Subsystem))架构。GM服务器计算机的功能性在该情况下由会议策略服务器(Conference-Policy-Server)覆盖。会议策略服务器借助会议策略文件(Conference-Policy-Dokument)管理在会议范围中所使用的规则和状态。
会议客户端单元在该实施形式中根据CPCP(会议策略控制协议(Conference Policy Control Protocol))向会议策略服务器发送准则,根据这些准则应动态产生会议参与者组,该会议策略服务器将这些准则以相对应的格式存放在会议策略文件中。在一实施形式中,会议策略服务器不仅确定这些准则而且在会议策略文件中还确定目前的组成员列表。为产生目前的组成员列表而必要的信息(例如如上述的呈现信息和位置信息)类似于上面所述的实施例确定会议策略服务器。
在上面所述的实施例中,仅仅处理以下应用情况(Use case),即当(或者只要)可能的参与者(或相对应的客户端单元)满足预给定的准则时,这些参与者被邀请参加通信业务(例如参加PoC会话)。
可是,当可能的参与者(或相对应的客户端单元)不是被邀请而是必须自己主动拨入(也就是必须自己启动其参与)时,也可以采用本发明。对此的实例是用户必须自己拨入的聊天会话(或者PoC会话)。
例如,用户想要借助一由其使用的客户端单元在提供PoC会话的PoC控制服务器计算机处拨入,例如通过发送根据SIP INVITE的拨入消息,以便能够参与PoC会话。类似于上面的实施例,确定准则并且PoC控制服务器计算机例如类似于上述通过询问GM服务器计算机来检验,想要拨入的用户是否满足所确定的准则。只有当用户(或由其使用的客户端单元)满足准则时,才接受和(例如根据SIP 200 OK)确认拨入,并且用户接着是PoC会话的参与者。如果用户不满足这些准则,则拨入消息拒绝应答,例如借助根据SIP REJECT的拒绝消息,该拒绝消息也可以包含对拒绝理由的说明,而且用户不会成为PoC会话的参与者。
[2]Push to Talk over Cellular (PoC);List Management andDo-not-Disturb;PoC Release 2.0