技术领域
本发明涉及无线一键通技术,尤其涉及应用在无线一键通技术中的会话建立方法。
相关背景技术
即按即讲(PTT,Push To Talk)即“一键通”业务是一种点到点或者点到多点的语音通信业务。在PTT通信过程中,当用户按下PTT终端(如对讲机)的某个特殊键(下面将这个特殊键简称为PTT按键)后说话,与其通信的其他方此时只能接听,不能讲话;而当该用户松开PTT按键后则只能接听其他方的讲话。因此现有的PTT业务大量应用于各种专用集群通信系统,其主要业务特征为用户按下PTT终端的PTT按键后即可说话,网络直接将该用户的语音发送给整个群组的成员,PTT通信方式采用半双工通信方式,即用户说话时其他用户只能接听不能讲话,当用户说完话后松开PTT按键时,其他用户才可以按下各自PTT终端的PTT按键请求发言。PTT业务因其具有操作方便、呼叫建立速度快、支持群组通信方式等优势,因此深受业界的关注。
而“无线一键通” 业务(POC,PTT Over Cellular)是指在现有公共移动通信网上运行PTT业务的通信方式,而这里所指的公共移动通信网一般是指具有能够为终端提供IP通信能力,使终端之间能够基于VoIP(Voice over IP)方式进行语音通信的移动通信网络,如GPRS网络、WCDMA网络或WLAN网络等。由于POC技术标准是基于3GPP IMS(IMS,IP Multimedia Subsystem,IP多媒体子系统)的开放技术,因此POC业务的出现有助于降低运营设备和终端设备的市场分裂,保证各厂商设备之间的互联互通,并让用户更加容易地使用PTT业务。
提供有POC业务的通信系统从功能上可以划分为信令面和用户面两个部分;其中信令面主要负责处理会话的建立和释放,用户面主要负责处理语音数据流的传输。而信令面主要采用会话初始协议(SIP,Session InitiationProtocol)对终端之间的会话进程进行建立和释放,其中SIP协议是互联网时代的基础信令,其主要功能就是用来建立、改变和终止基于IP网络的用户终端之间的呼叫。
参照图1,该图是现有技术中基于SIP协议进行POC会话建立的过程示意图。图中终端1和终端2都为具有POC功能的终端设备,POC服务器(POCService)为能够处理呼叫建立和交换语音数据的服务器;则当作为主叫方的终端1呼叫作为被叫方的终端2时,其主要呼叫建立过程如下:1、用户按下终端1的PTT按键请求建立和终端2的会话,则终端1在自身的PTT按键被按下时,向网络侧的POC服务器发送一个邀请消息信令(Invite)用于请求和终端2建立会话,其中该Invite消息信令中包含有终端2的ID信息。
2、POC服务器收到Invite消息信令后给终端1反馈200 OK消息信令,以通知终端1成功接收到了终端1的会话请求;同时POC服务器向终端2发送Invite消息信令以邀请终端2进入会话。
3、终端1接收到POC服务器反馈的200 OK消息信令后,返回确认消息信令(ACK)给POC服务器,以表明自身接收到了系统的响应。
4、终端2接收到Invite消息信令后反馈200 OK消息信令给POC服务器,以表明自身同意加入该会话,终端2同时把自身接收语音数据包的IP地址和端口号通知给POC服务器。
5、POC服务器接收到终端2发来的200 OK消息信令后,向终端2反馈ACK消息信令,以表明接收到终端2的响应;同时POC服务器向终端1发送通知消息信令(Notify),以通知终端1目前终端2已经进入会话进程,此时终端1便指示主叫用户可以讲话。
6、终端1接收到POC服务器发来的Notify消息信令后,反馈200 OK消息信令给POC服务器,表明已经接收到Notify消息信令;
7、主叫用户收到终端1的指示后开始讲话,终端1把主叫用户的语音数据打包处理后发送给POC服务器,POC服务器再根据步骤4中得到的终端2自身接收语音数据包的IP地址和端口号信息,将语音数据包转发给终端2的相应端口进行接收。
从而通过上述处理过程,便可完成终端1和终端2之间的会话建立处理,但是现有这种会话建立方式却存在着会话接收时间较长的不足,原因如下:POC服务器只有接收到作为被叫方的终端2反馈的同意进入会话的200OK消息信令和自身接收语音数据包的IP地址和端口号信息后,才能通知作为主叫方的终端1发送语音数据包;而如果POC服务器在没有得到终端2反馈的同意进入会话的200 OK消息信令和自身接收语音数据包的IP地址和端口号信息的情况下,就指示终端1发送语音数据包,则会造成由于POC服务器没有及时得知终端2的接收语音数据包的IP地址和端口号等信息,而无法将终端1的语音数据包转发给终端2的相应端口进行接收,因此可能就会丢弃终端1发来的语音数据包,以致终端2不能及时接收到终端1发来的语音数据包,造成通信消息的丢失。
而PTT业务或者POC业务带给用户的最大优势体验就是即按即讲,其中普通数字集群通信系统的会话接续时间一般应小于2秒,而提供POC业务功能的通信系统的会话建立时间相对于PTT业务而言接续时间要稍长一些。但如果采用上述会话建立方案,其POC会话接续时间在某些情况下甚至可能长达大于10秒,这样就导致了用户不能很好的体验POC业务的优势,对POC业务在市场上的发展造成不利。
具体实施方式
因为“无线一键通”业务(POC,PTT Over Cellular)是在具备高速移动数据通信能力的移动通信网络上运行的PTT业务,因此,在POC业务系统中工作的终端应为具有POC功能的终端(如升级后的对讲机设备)或为安装有POC应用程序的终端。
在POC业务系统中,当具有POC功能的终端开机时或用户打开终端的POC应用程序时,终端会向网络侧发起无线资源连接请求,网络侧便会响应终端的连接请求,为终端分配一个动态的IP地址(因为终端在下一次开机或打开POC应用程序以请求无线资源连接时,网络侧可能会分配和这次不同的IP地址给终端使用,因此终端每次发起无线资源连接请求,请求到的IP地址可能是不相同的,所以称之为为终端分配动态的IP地址);当终端完成上述网络连接请求,得到自身在移动数据通信网中的IP地址后,会通过会话初始协议(SIP,Session Initiation Protocol)信令向网络侧发起初始注册过程。因为终端为移动终端,其占用的IP地址可能会在不同的请求状态下会发生变化,因此注册过程具有时限性,因此在上述初始注册成功后终端还会定期向网络侧发起重新注册过程。其中网络侧可以由无线一键通服务器(POC Service)负责处理终端发来的注册请求,当然也可以分配到由其他网络实体进行处理。
现有技术中终端利用SIP信令向网络侧发起的注册请求信息中包括有终端的标识信息public ID(如电话号码等)、终端接收各类消息信令的IP地址和端口号等信息,网络侧的POC服务器在收到终端发来的注册请求信息后记录下终端的这些注册信息,而这些注册信息主要是用于向POC服务器提供依据,以使POC服务器能够将各类消息信令正确发送到该终端接收,因此这里将这些注册信息统称之为“信令接收属性”。
本发明会话建立方法通过在现有技术的基础上,在各个终端注册自身的信令接收属性时,同时将自身的“媒体接收属性”注册到网络侧,即在正常的注册请求消息中不但包括有终端的public ID(如电话号码等)、终端对各类消息信令进行接收的IP地址和端口号,还包括有该终端对媒体数据包进行接收的IP地址和端口号,及终端能够接收的媒体数据包类型等信息,网络侧的POC服务器或其他功能实体在收到终端的这些注册请求信息后,分别记录下该终端的信令接收IP地址和端口号及该终端的标识信息等,即记录下该终端的“信令接收属性”注册信息;同时还要记录下该终端对媒体数据包进行接收的IP地址和端口号以及该终端能够接收的媒体数据包类型等信息,即记录下该终端的“媒体接收属性”注册信息。这样记录下的“信令接收属性”注册信息和“媒体接收属性”注册信息就可用于在后续POC会话建立过程中,为POC服务器分别提供信令下发处理信息和媒体数据包下发处理信息。当然终端的“媒体接收属性”也可以不由终端主动注册到网络侧,而是由终端和网络侧预先协商后,由网络侧为所有终端指定一个共同的“媒体接收属性”。
参照图2,该图是本发明会话建立方法的注册过程示意图;其中每个终端将自身的信令接收属性和媒体接收属性主动注册到网络侧的过程如下:步骤S1,当具有POC功能的终端开机或者用户打开终端的POC应用程序时,终端向网络侧发起无线资源连接请求并获得自身在移动数据通信网络系统中的IP地址;在网络连接完成后,终端通过SIP信令中的注册消息信令(Register)向网络侧发起初始注册请求。其中注册消息信令代表的注册请求可以由POC服务器(POC Service)负责处理;也可以由网络侧的其他网络功能实体进行处理,但如果由网络侧的其他网络功能实体进行处理,POC服务器必须通过通信方式得到终端在其他网络功能实体中的注册信息,在下面的叙述中假设终端发送的注册消息信令都直接由网络侧的POC服务器进行处理;其中终端要将自身的媒体接收属性和信令接收属性封装到注册消息信令中,以发送到网络侧的POC服务器;其中终端的媒体接收属性中包括终端接收媒体数据包的IP地址和端口号以及终端能够接收的媒体数据包类型;而终端的信令接收属性中包括终端接收各类消息信令的IP地址和端口号;一般情况下,终端接收各类消息信令的IP地址和接收媒体数据包的IP地址是相同的,即为终端发起的无线资源连接请求中由网络侧分配得到的动态IP地址;而终端用于接收各类消息信令的端口和用于接收媒体数据包的端口一般是不同的,这里所指的终端上用于接收消息信令的端口和用于接收媒体数据包的端口都指的是逻辑端口,如可以采用尊于用户数据报协议(UDP,User DatagramProtocol)的端口或采用尊于传输控制协议(TCP,Transmission ControlProtocol)的端口。
步骤S2,网络侧的POC服务器接收到终端发来的注册消息信令(Register)后,提取Register消息信令中包含的媒体接收属性和信令接收属性;然后将提取的媒体接收属性和信令接收属性分别与发送该Register消息信令的终端的标识信息进行对应存储。
步骤S3,网络侧的POC服务器反馈成功接收消息信令(这里将成功接收消息信令用200 OK表示)给发送Register消息信令的终端,以表示成功接收到了终端发来的Register消息信令。
因为终端的移动性决定了网络侧为每个终端分配的是动态IP地址信息,即可能在终端发起无线资源连接请求的不同时刻,终端被分配到的IP地址是不同的;所以就导致终端的注册过程具有时限性,因此就要求终端在初始注册成功后,终端还要定期地发起重新注册请求过程。如可以在终端中设置使用如下方式进行定期的向网络侧发送注册消息信令,以及时将自身发生变化的媒体接收属性和信令接收属性注册到网络侧:设置具有POC功能的终端开机时或终端在每次打开POC应用程序时,并在完成网络连接的情况下,将自身具有的媒体接收属性和信令接收属性分别注册到网络侧的POC服务器;同时,为了保证网络侧的POC服务器内存储的终端注册信息能够及时得到更新,进一步防止通信消息的丢失,还可以进而在终端中设置在开机激活状态时,以周期规律地将自身的媒体接收属性和信令接收属性注册到网络侧的POC服务器,以使POC服务器中存储的终端注册信息能够及时得到更新。
各个终端在完成上面的注册流程,并在每个终端都成功的将自身的媒体接收属性和信令接收属性成功注册到网络侧的POC服务器后,POC服务器就可以通过终端的标识信息(如终端的号码信息)查询终端的信令接收属性和媒体接收属性注册信息了,从而终端就可以直接发起或者直接接收POC会话建立请求的相关信息了。
参照图3,该图是本发明会话建立方法中利用SIP协议进行POC会话建立的典型过程图;其实在实际POC会话建立过程中,在终端和POC服务器之间可能还包括SIP PROXY等网络设备,这里只叙述主被叫终端之间通过POC服务器建立会话进程的简单原理。其中该图中所示为终端A作为主叫终端要呼叫作为被叫终端的终端B,以与终端B之间建立会话通信,其中终端之间传输的信息可以为多媒体信息,如音频信息、视频信息或音视频信息等,所以上述一直将终端之间的会话信息统称为媒体数据包,下面只针对主被叫终端之间传输语音数据的情况进行说明其会话建立的过程,其他媒体数据(如视频数据)传输情况下的会话建立过程原理相同:步骤S10,主叫用户请求和被叫用户建立会话,则按下终端A的PTT按键以请求和被叫用户的终端B之间建立会话,终端A就生成邀请消息信令(Invite)发送给POC服务器,其中该Invite消息信令用于请求被叫终端B进入会话,且该Invite消息信令中包含有作为被叫终端的终端B的标识信息(如终端B的号码信息等)。
步骤S20,POC服务器收到终端A发来的Invite消息信令后,反馈成功接收消息信令(以下成功接收消息信令用200 OK表示)给终端A,以向终端A表明接收到了终端A发来的Invite消息信令;同时POC服务器根据Invite消息信令中包含的终端B的标识信息,查询终端B的信令接收属性注册信息,并根据信令接收属性中包含的终端B用于接收各类消息信令的IP地址和端口号等信息,将终端A发来的Invite消息信令转发给终端B接收,以请求终端B进入会话进程。
步骤S30,终端A接收到POC服务器反馈的200 OK消息信令后,反馈确认消息信令(ACK)给POC服务器,以表明自身收到POC服务器的响应。
步骤S40,终端A在反馈ACK消息信令给POC服务器后,继而指示主叫用户可以讲话;在主叫用户讲话的过程中,终端A将主叫用户的语音数据打包处理后形成语音数据包发送给POC服务器。
步骤S50,POC服务器接收到终端A发来的语音数据包后,根据被叫终端B的标识信息,查询终端B的媒体接收属性注册信息,并进而查询到媒体接收属性中包含的终端B用于接收媒体数据包的IP地址和端口号以及终端B能够接收的媒体数据包类型等信息。
步骤S60,POC服务器根据查询到的媒体接收属性中包含的终端B用于接收媒体数据包的IP地址和端口号以及终端B能够接收的媒体数据包类型等信息,将终端A发来的语音数据包转发到终端B,终端B由对应端口对由终端A发来的语音数据包进行接收。
步骤S70,终端B在接收到POC服务器转发来的Invite消息信令后,向POC服务器反馈200 OK消息信令,以表明自身接收到了POC服务器发来的Invite消息信令。
步骤S80,POC服务器接收到终端B反馈的200 OK消息信令后,向终端A发送用于通知终端A当前终端B已经进入会话的通知消息信令(Notify);同时POC服务器反馈ACK消息信令给终端B,以表明自身接收到了终端B的响应。
步骤S90,终端A接收到POC服务器发来的Notify消息信令后,反馈200OK消息信令给POC服务器,以表明自身接收到了POC服务器发来的Notify消息信令。
至此,主叫终端A和被叫终端B之间就可以成功建立起它们之间的POC会话,进而终端A和终端B之间就可以进行后续的POC会话通信。
上述已经简单描述过,各个终端在每次注册过程中,还可以依旧基于现有技术,即注册时只注册终端自身的信令接收属性,而不注册终端自身的媒体接收属性到网络侧,而补救措施是采用由网络侧和终端之间进行预先协商,以事先由网络侧为所有终端指定接收媒体数据包的端口号(如UDP/TCP端口)和能够接收的媒体数据包类型。这样POC服务器如果在收到被叫终端的进入会话响应之前就收到主叫终端发来的媒体数据包,则根据被叫终端的信令接收属性中包含的IP地址信息和网络侧预先指定的终端用于接收媒体数据包的端口号和终端能够接收的媒体数据包类型等信息,将主叫终端发来的媒体数据包转发给被叫终端的固定媒体接收端口进行接收。
如图3所示的POC会话建立过程,如果采用由网络侧预先为所有终端指定共同媒体接收处理属性的方式,则其具体处理过程如下:其中步骤S10到步骤S40的过程同上述,而在步骤S50中,当POC服务器接收终端A发来的语音数据包后,会根据被叫终端B的信令接收属性注册信息中包含的终端B用于接收各类消息信令的IP地址和网络侧预先指定的媒体接收属性中包含的端口号及其能够接收的媒体数据包类型等信息,将主叫终端发来的语音数据包转发给被叫终端的相应媒体接收端口进行接收。后续步骤S60至步骤S90也同上述过程叙述,这里不再赘述。
综上所述,本发明会话建立方法通过在终端的正常注册请求过程中,附加注册终端自身的媒体接收属性信息(各个终端注册的媒体接收属性可以包括终端接收媒体数据包的IP地址和端口号,以及终端能够接收的媒体数据包类型等信息)或者通过终端在注册请求过程中采用现有标准的注册方式(即只注册终端自身的信令接收属性到网络侧),但要由网络侧事先为终端指定接收媒体数据包的端口号和终端能够接收的媒体数据包类型等信息,即预先指定所有终端的共同媒体接收属性。在这样的设置下,主叫终端在收到POC服务器的成功响应后即可开始讲话,无需等接收到被叫终端进入会话的应答信息后才能讲话;同时如果在被叫终端发送进入会议应答信息前主叫用户已经讲话,POC服务器会根据被叫终端注册时登记的媒体接收属性注册信息或者根据被叫终端的信令接收属性注册信息和事先由网络侧指定的UDP/TCP端口号及被叫终端能够接收的媒体数据包类型等信息,将主叫终端发来语音数据包转发给被叫终端进行接收,而不是丢弃或者缓存主叫终端的语音数据包。从而相对于现有技术POC会话建立方式而言,缩短了POC会话的建立时长,且不会丢弃主叫终端发送的媒体数据,因此不会造成通信消息丢失现象的发生,使用户能够更好的体验POC业务的即按即讲优势,对POC业务的发展起到了推动作用。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。