网络电话连接处理方法及装置与流程

文档序号:12161985阅读:461来源:国知局
网络电话连接处理方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种网络电话连接处理方法及装置。



背景技术:

在终端上,我们常常使用网络电话。在进入4G时代以后,移动互联网的网速更快,流量资费更低,因此我们在移动终端上使用网络电话更加频繁。

网络电话有一个天生的优点,即:基本上所有的网络电话都是加密传输的,其保密性优于普通电路域电话。

但是众所周知,网络电话存在一个较大缺点:即必须保持被叫方一直连接着数据网络,才能保证随时呼通被叫方。

而出于省钱、省电等原因,大部分用户的移动终端平时仅保持电路域一直在线,并没有连接上数据网络。所以不能够像拨打普通电路域电话一样可以随时使用网络电话拨打被叫方,这一点造成网络电话使用上的不方便。

相关技术中协议并未规定网络电话的连接方法,要能实现网络电话即时连接要么用户需要一直连接数据网络,要么修改协议栈的实现,最近中国移动在推广一种应用在LTE网络上的网络电话即时连接方案,就是修改了协议栈,只有支持该协议的手机才能实现网络电话即时连接。

如果用户需要一直连接数据网络,就不能进入睡眠状态,否则就无法即时从睡眠中被唤醒,这样做很明显非常耗电,大大缩短了手机待机时间。

而中国移动的方案,只能用在以后生产的支持该协议的新手机上,不能应用到自己已有的旧的3G,4G智能手机上,并且不能和电信、联通互通。可用的范围小。

针对相关技术中,不能像拨打普通电路域电话一样可以随时使用网络电话拨打被叫方的问题,还未提出有效的解决方案。



技术实现要素:

本发明提供了一种网络电话连接处理方法及装置,以至少解决相关技术中不能像拨打普通电路域电话一样可以随时使用网络电话拨打被叫方的问题。

根据本发明的一个方面,提供了一种网络电话连接处理方法,包括:接收主叫终端发送的呼叫请求消息,其中,所述呼叫请求消息用于请求在数据网络上呼叫被叫终端; 确定所述被叫终端当前未连接至所述数据网络,并指示所述被叫终端连接至所述数据网络;在判断出所述被叫终端成功连接至所述数据网络的情况下,通过所述数据网络将所述呼叫请求消息发送至所述被叫终端。

可选地,指示所述被叫终端连接至所述数据网络包括:通过电路域呼叫所述被叫终端,以指示所述被叫终端连接至所述数据网络。

可选地,在指示所述被叫终端连接至所述数据网络之后,所述方法包括:在通过电路域呼叫所述被叫终端失败的情况下,向所述主叫终端发送呼叫失败消息。

可选地,在指示所述被叫终端连接至所述数据网络之后,所述方法包括:在判断所述被叫终端连接至所述数据网络失败的情况下,向所述主叫终端发送呼叫失败消息。

可选地,判断出所述被叫终端成功连接至所述数据网络的情况包括:在接收到所述被叫终端发送的成功连接消息的情况下,判断出所述被叫终端成功连接至所述数据网络,其中,所述成功连接消息用于指示所述被叫终端成功连接至所述数据网络。

可选地,在通过所述数据网络将所述呼叫请求消息发送至所述被叫终端之后,所述方法包括:在所述被叫终端接收所述呼叫请求消息的情况下,建立所述主叫终端与所述被叫终端的网络电话连接;或者,在所述被叫终端拒绝所述呼叫请求消息的情况下,向所述主叫终端发送呼叫失败消息。

可选地,确定所述被叫终端当前未连接至所述数据网络包括:确定所述被叫终端当前在服务器上处于不在线状态。

根据本发明的另一个方面,还提供了另一种网络电话连接处理方法,包括:被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息,其中,所述第一指示消息用于指示所述被叫终端连接至所述数据网络;在所述被叫终端成功连接至所述数据网络的情况下,所述被叫终端向所述服务器发送第二指示消息,其中,所述第二指示消息用于指示所述被叫终端成功连接至所述数据网络;所述被叫终端接收所述服务器转发的由主叫终端发送的呼叫请求消息,其中,所述呼叫请求消息用于请求在所述数据网络上呼叫所述被叫终端。

可选地,所述被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息包括:所述被叫终端接收到所述服务器通过电路域发送的所述第一指示消息,其中,所述第一指示消息由所述服务器通过所述电路域呼叫所述被叫终端所产生。

可选地,在被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息之后,且在所述被叫终端向所述服务器发送第二指示消息之前,所述方法还包括:在所述被叫终端判断出所述第一指示消息中携带的电话号码为所述服务器的电话号码的情况下,所述被叫终端向所述数据网络发送连接请求消息,并接收到所述数据网络发送的用于指示所述被叫终端成功连接至所述数据网络的连接响应消息。

根据本发明的一个方面,提供了一种网络电话连接处理装置,应用于服务器,包括:接收模块,用于接收主叫终端发送的呼叫请求消息,其中,所述呼叫请求消息用于请求在数据网络上呼叫被叫终端;确定模块,用于确定所述被叫终端当前未连接至所述数据网络,并指示所述被叫终端连接至所述数据网络;判断模块,用于在判断出所述被叫终端成功连接至所述数据网络的情况下,通过所述数据网络将所述呼叫请求消息发送至所述被叫终端。

可选地,所述确定模块还用于通过电路域呼叫所述被叫终端,以指示所述被叫终端连接至所述数据网络。

可选地,所述装置还包括:第一发送模块,用于在通过电路域呼叫所述被叫终端失败的情况下,向所述主叫终端发送呼叫失败消息。

可选地,所述装置还包括:第二发送模块,用于在判断所述被叫终端连接至所述数据网络失败的情况下,向所述主叫终端发送呼叫失败消息。

可选地,所述判断模块还用于在接收到所述被叫终端发送的成功连接消息的情况下,判断出所述被叫终端成功连接至所述数据网络,其中,所述成功连接消息用于指示所述被叫终端成功连接至所述数据网络。

可选地,所述装置包括:建立模块,用于在所述被叫终端接收所述呼叫请求消息的情况下,建立所述主叫终端与所述被叫终端的网络电话连接;或者,第三发送模块,用于在所述被叫终端拒绝所述呼叫请求消息的情况下,向所述主叫终端发送呼叫失败消息。

可选地,所述确定模块还用于确定所述被叫终端当前在服务器上处于不在线状态。

根据本发明的另一个方面,还提供了一种网络电话连接处理装置,应用于被叫终端,包括:第一接收模块,用于在未连接至数据网络的情况下接收服务器发送的第一指示消息,其中,所述第一指示消息用于指示所述被叫终端连接至所述数据网络;第一发送模块,用于在所述被叫终端成功连接至所述数据网络的情况下,向所述服务器发送第二指示消息,其中,所述第二指示消息用于指示所述被叫终端成功连接至所述数据网络;第二接收模块,用于接收所述服务器转发的由主叫终端发送的呼叫请求消息,其中,所述呼叫请求消息用于请求在所述数据网络上呼叫所述被叫终端。

可选地,所述第一接收模块还用于接收到所述服务器通过电路域发送的所述第一指示消息,其中,所述第一指示消息由所述服务器通过所述电路域呼叫所述被叫终端所产生。

可选地,所述装置还包括:第二发送模块,用于在所述被叫终端判断出所述第一指示消息中携带的电话号码为所述服务器的电话号码的情况下,向所述数据网络发送连接请求消息,并接收到所述数据网络发送的用于指示所述被叫终端成功连接至所述数据网络的连接响应消息。

通过本发明,采用接收主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端;确定被叫终端当前未连接至该数据网络,并指示被叫终端连接至数据网络;在判断出被叫终端成功连接至数据网络的情况下,通过数据网络将呼叫请求消息发送至被叫终端。解决了相关技术中不能像拨打普通电路域电话一样可以随时使用网络电话拨打被叫方的问题,进而不需要被叫终端一直连接着数据网络,却能像拨打普通电路域电话一样,可以随时拨打被叫终端。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种网络电话连接处理方法的应用场景示意图;

图2是根据本发明实施例的网络电话连接处理方法的流程图;

图3是根据本发明实施例的网络电话连接处理装置的结构框图;

图4是根据本发明实施例的网络电话连接处理装置的结构框图(一);

图5是根据本发明实施例的网络电话连接处理装置的结构框图(二);

图6是根据本发明实施例的网络电话连接处理装置的结构框图(三);

图7是根据本发明实施例的网络电话连接处理方法的流程图(一);

图8是根据本发明实施例的网络电话连接处理装置的结构框图(四);

图9是根据本发明实施例的网络电话连接处理装置的结构框图(五);

图10是根据本发明实施例的网络电话连接方法的流程示意图;

图11是根据本发明实施例的网络电话建立连接时被叫方没有连接着数据网络时的流程示意图;

图12是根据本发明实施例的网络电话建立连接时被叫方已经连接着数据网络时的过程示意图;

图13是根据本发明实施例的网络电话建立连接时被叫方没有连接着数据网络,同时又无法接收来自电路域的电话时的流程示意图;

图14是根据本发明实施例的被叫方终端网络电话连接的处理流程图;

图15是根据本发明实施例的被叫方连接数据网络后,主叫方、被叫方以及服务器之间的信息交互流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

图1是根据本发明实施例的一种网络电话连接处理方法的应用场景示意图,如图1所示,主叫终端与被叫终端可以通过网络服务器进行网络电话连接。

在一个实施例中提供了一种网络电话连接处理方法,图2是根据本发明实施例的网络电话连接处理方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,接收主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端;

步骤S204,确定被叫终端当前未连接至数据网络,并指示被叫终端连接至数据网络;

步骤S206,在判断出被叫终端成功连接至数据网络的情况下,通过数据网络将呼叫请求消息发送至被叫终端。

通过上述步骤,在确定被叫终端当前未连接至数据网络的情况下,指示被叫用户连接至数据网络,并将用于请求在数据网络上呼叫被叫终端的呼叫请求消息通过数据网络发送至被叫终端,相比于相关技术中,需要被叫终端一直连接至数据网络,才能通过数据网络呼叫被叫终端,上述步骤解决了相关技术中不能像拨打普通电路域电话一样可以随时使用网络电话拨打被叫方的问题,进而不需要被叫终端一直连接着数据网络,却能像拨打普通电路域电话一样,可以随时拨打被叫终端。

上述步骤S204涉及到指示被叫终端连接至数据网络,需要说明的是,可以通过多种方式指示被叫终端连接至数据网络,下面对此进行举例说明。在一个可选实施例中,通过电路域呼叫被叫终端,以指示被叫终端连接至数据网络。

在指示被叫终端连接至该数据网络之后,在一个可选实施例中,在通过电路域呼叫被叫终端失败的情况下,向主叫终端发送呼叫失败消息。以指示主叫终端,目前被叫终端尚未连接至数据网络,主叫终端还不能通过数据网络呼叫被叫终端。其中,在该呼叫失败消息中可以携带用于指示呼叫被叫终端失败的原因的指示信息,其中,上述指示信息所指示的原因包括但不限于以下至少之一:被叫终端欠费、被叫终端关机、被叫终端不在服务区、主叫终端所拨打的为空号码等。

在指示被叫终端连接至该数据网络之后,在另一个可选实施例中,在判断被叫终端连接至数据网络失败的情况下,向主叫终端发送呼叫失败消息。以指示主叫终端由于被 叫终端不能连接至数据网络,主叫终端不能通过数据网络呼叫被叫终端。其中,在该呼叫失败消息中可以携带用于指示呼叫被叫终端失败的原因的指示信息,其中,上述指示信息所指示的原因包括但不限于以下至少之一:超时无法接通被叫方、被叫终端开通呼叫转移。

上述步骤S206中涉及到判断出被叫终端成功连接至数据网络的情况,需要说明的是,可以通过多种方式判断出被叫终端已经成功连接至数据网络,下面对此进行举例说明。在一个可选实施例中,在接收到被叫终端发送的成功连接消息的情况下,判断出被叫终端成功连接至数据网络,其中,该成功连接消息用于指示被叫终端成功连接至数据网络。

通过数据网络将呼叫请求消息发送至被叫终端之后,在一个可选实施例中,在被叫终端接收该呼叫请求消息的情况下,建立主叫终端与被叫终端的网络电话连接。在另一个可选实施例中,在被叫终端拒绝呼叫请求消息的情况下,向主叫终端发送呼叫失败消息。其中,在该呼叫失败消息中可以携带用于指示呼叫被叫终端失败的原因的指示信息,其中,上述指示信息所指示的原因包括但不限于以下至少之一:被叫终端拒绝接通主叫终端的呼叫。

之所以要关注各种通话失败的原因,是为了带给用户使用普通电路域电话一样的无缝体验。普通电路域电话在MSC侧会根据通话失败原因的不同,使用不同的音板放音。例如相关技术中的“您好,您拨打的用户正在通话中,请稍后在拨”等等提示音的由来。而把这些原因返回给主叫方。一方面可以让主叫方终端在界面上显示给用户看,另一方面也可以在终端侧用录音放音:“您好,您拨打的用户正在通话中,请稍后在拨”等等习惯的语音提示。这样带来的感受更接近普通电路域电话。比目前VOIP生硬、直接地显示提示用户“呼叫失败”更好。

上述步骤S204中涉及到确定被叫终端当前未连接至数据网络,在一个可选实施例中,通过确定被叫终端当前在服务器上处于不在线状态,确定被叫终端当前未连接至数据网络。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种网络电话连接处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现, 但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的网络电话连接处理装置的结构框图,应用于服务器,如图3所示,该装置包括:接收模块32,用于接收主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端;确定模块34,用于确定被叫终端当前未连接至数据网络,并指示被叫终端连接至数据网络;判断模块36,用于在判断出被叫终端成功连接至数据网络的情况下,通过数据网络将该呼叫请求消息发送至被叫终端。

可选地,确定模块34还用于通过电路域呼叫该被叫终端,以指示被叫终端连接至数据网络。

图4是根据本发明实施例的网络电话连接处理装置的结构框图(一),如图4所示,该装置还包括:第一发送模块42,用于在通过电路域呼叫该被叫终端失败的情况下,向主叫终端发送呼叫失败消息。

图5是根据本发明实施例的网络电话连接处理装置的结构框图(二),如图5所示,该装置还包括:第二发送模块44,用于在判断被叫终端连接至该数据网络失败的情况下,向主叫终端发送呼叫失败消息。

可选地,判断模块36还用于在接收到该被叫终端发送的成功连接消息的情况下,判断出该被叫终端成功连接至该数据网络,其中,该成功连接消息用于指示被叫终端成功连接至数据网络。

图6是根据本发明实施例的网络电话连接处理装置的结构框图(三),如图6所示,该装置包括:建立模块62,用于在该被叫终端接收该呼叫请求消息的情况下,建立主叫终端与被叫终端的网络电话连接;或者,第三发送模块64,用于在被叫终端拒绝该呼叫请求消息的情况下,向该主叫终端发送呼叫失败消息。

可选地,确定模块43还用于确定该被叫终端当前在服务器上处于不在线状态。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

在另一个实施例中还提供了另一种网络电话连接处理方法,图7是根据本发明实施例的网络电话连接处理方法的流程图(一),如图7所示,该流程包括如下步骤:

步骤S702,被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息,其中,该第一指示消息用于指示被叫终端连接至数据网络;

步骤S704,在被叫终端成功连接至该数据网络的情况下,被叫终端向服务器发送第二指示消息,其中,该第二指示消息用于指示被叫终端成功连接至数据网络;

步骤S706,被叫终端接收服务器转发的由主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端。

通过上述步骤,在确定被叫终端当前未连接至数据网络的情况下,被叫终端接收指示被叫用户连接至数据网络的指示消息,并通过数据网络接收用于请求在数据网络上呼叫被叫终端的呼叫请求消息,以便于主叫终端通过数据网络与被叫终端建立通话,相比于相关技术中,需要被叫终端一直连接至数据网络,才能通过数据网络呼叫被叫终端,上述步骤解决了相关技术中不能像拨打普通电路域电话一样可以随时使用网络电话拨打被叫方的问题,进而不需要被叫终端一直连接着数据网络,却能像拨打普通电路域电话一样,可以随时拨打被叫终端。

上述步骤S702中涉及到被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息,在一个可选实施例中,被叫终端接收到服务器通过电路域发送的第一指示消息,其中,第一指示消息由服务器通过该电路域呼叫被叫终端所产生。

在一个可选实施例中,在被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息之后,且在被叫终端向服务器发送第二指示消息之前,在被叫终端判断出第一指示消息中携带的电话号码为服务器的电话号码的情况下,被叫终端向数据网络发送连接请求消息,并接收到数据网络发送的用于指示该被叫终端成功连接至数据网络的连接响应消息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种网络电话连接处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图8是根据本发明实施例的网络电话连接处理装置的结构框图(四),应用于被叫终端,如图8所示,该装置包括:第一接收模块82,用于在未连接至数据网络的情况下接收服务器发送的第一指示消息,其中,该第一指示消息用于指示被叫终端连接至数据网络;第一发送模块84,用于在该被叫终端成功连接至数据网络的情况下,向该服务器发送第二指示消息,其中,该第二指示消息用于指示被叫终端成功连接至该数据网络;第二接收模块86,用于接收该服务器转发的由主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端。

可选地,第一接收模块82还用于接收到该服务器通过电路域发送的该第一指示消息,其中,该第一指示消息由该服务器通过该电路域呼叫该被叫终端所产生。

图9是根据本发明实施例的网络电话连接处理装置的结构框图(五),如图9所示,该装置还包括:第二发送模块92,用于在该被叫终端判断出该第一指示消息中携带的电话号码为该服务器的电话号码的情况下,向数据网络发送连接请求消息,并接收到数据网络发送的用于指示该被叫终端成功连接至数据网络的连接响应消息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,接收主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端;

S2,确定被叫终端当前未连接至数据网络,并指示被叫终端连接至数据网络;

S3,在判断出被叫终端成功连接至数据网络的情况下,通过数据网络将呼叫请求消息发送至被叫终端。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

S4,被叫终端在未连接至数据网络的情况下接收服务器发送的第一指示消息,其中,该第一指示消息用于指示被叫终端连接至数据网络;

S5,在被叫终端成功连接至该数据网络的情况下,被叫终端向服务器发送第二指示消息,其中,该第二指示消息用于指示被叫终端成功连接至数据网络;

S6,被叫终端接收服务器转发的由主叫终端发送的呼叫请求消息,其中,该呼叫请求消息用于请求在数据网络上呼叫被叫终端。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述S1、S2以及S3。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述S4、S5和S6。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示 例,本实施例在此不再赘述。

针对相关技术中存在的上述问题,需要一种网络电话的连接方式,它不需要被叫方一直连接着数据网络,却能像拨打普通电路域电话一样,可以随时拨打被叫方。这种网络电话应该在接通电话过程中所耗时延方面与普通电路域电话相差不多,才能带给用户良好的体验。本可选实施例的主要目的是提供一种网络电话连接方法,不需要被叫方一直连接着数据网络,却能像拨打普通电路域电话一样,可以随时拨打被叫方;以及使用该方法实现的终端。

为达到上述目的,本可选实施例的方案是这样设计的:

A是主叫方,B是被叫方,C是网络电话服务器。

A向C发起请求,要求拨打B:

C检查B是否连接着数据网络,如果B连接着数据网络,则C通知B有来自于A的呼叫,于是B出现被叫界面并响铃,B可以选择接听或者拒绝。

如果B没有连接着数据网络,C就会在电路域上拨打B:

如果B能够收到C的来电,B可以根据来电的特征判断出这是来自于C的电话(优选的来电特征是特定的来电号码),于是自动挂断这个电话。之后B主动连接上数据网络,答复C自己已经上线。接着C通知B有来自于A的呼叫,于是B出现被叫界面并响铃,B可以选择接听或者拒绝。

如果因为某些原因(例如:欠费、关机、不在服务区、空号码等)导致B不能收到数据域上C的来电,C可以从电路域返回的层三消息中得知电话无法接通的原因,然后C答复A因为该原因无法接通B,本次通话失败。

以上流程比较类似于GSM协议规定的在电路域上的被叫流程,只是它利用了电路域的被叫流程的前半段(即在Alerting之前的流程)唤醒了被叫方,然后被叫方主动连接上数据网络,将被叫流程中的后半段(Alerting以及它之后的流程)“切换”到了数据网络上进行。

本实施例提供了一种网络电话的连接方法,图10是根据本发明实施例的网络电话连接方法的流程示意图,如图10所示,该流程包括如下步骤:

步骤S1001:主叫方向网络服务器发起请求,要求拨打被叫方;

步骤S1002:网络服务器在电路域上拨打被叫方,被叫自动挂断这个电话,之后主动连接上数据网络,登陆网络服务器;

步骤S1003:网络服务器将主叫方和被叫方连接成一路网络通话。

本实施例中,网络服务器走S1002这个步骤的前提是它发现被叫方没有连接数据网 络。优选的判定方法是网络服务器根据被叫方是否在网络服务器上在线来判定。即:当被叫方在线,走普通的网络电话连接过程。当被叫方不在线,才走本实施例的流程。

被叫方走S1002这个步骤的前提是他判断电路域来电是一个特殊来电。优选的判定条件是特定的来电号码。被叫方主动连接上数据网络后要立即登录网络服务器。

S1003中,网络服务器将双方连接成一路网络电话后,后被叫方会出现来电界面,供被叫方接听/拒绝来电。

如果因为某些原因(例如:欠费、关机、不在服务区、空号码等)导致被叫方不能收到数据域上的来电,网络服务器可以从电路域返回的层三消息中得知电话无法接通的原因,答复主叫方因为该原因无法接通被叫方,本次通话失败。

如果网络服务器拨打被叫方电话成功,但因为某些原因(例如:被叫方设置了不响应S1002中特殊来电,被叫方因为未知原因始终连不上数据网络等等),在之后一定时间之内网络服务器未接到被叫方的答复,则网络服务器在一段时间内等不到被叫方登陆,超时后答复主叫方因为超时无法接通被叫方,本次通话失败。

下面用更具体的过程示意图说明该网络电话连接方法。

图11是根据本发明实施例的网络电话建立连接时被叫方没有连接着数据网络时的流程示意图。

前提:网络电话建立连接时被叫方没有连接上数据网络,仅仅连接着电路域,可以接收来自于电路域的电话。

如图11所示,该流程包括如下步骤:

步骤S1101是主叫方向网络服务器发起请求,要求拨打被叫方;

步骤S1102是网络服务器知道被叫方没有连接数据网络,于是通过电路域向被叫方拨打电话,试图唤醒被叫方;

步骤S1103是被叫方接到来自电路域的电话;

步骤S1104是被叫方根据来电的特征判断出这是来自于网络服务器的电话(优选的来电特征是特定的来电号码),于是自动挂断这个电话;

步骤S1105是被叫方向数据网络发起连接请求;

步骤S1106是被叫方连接数据网络成功;

步骤S1107是被叫方登陆并答复网络服务器,告知网络服务器自己已经连接数据网络成功;

步骤S1108是网络服务器通知被叫方有来自于主叫方的呼叫;

步骤S1109是被叫方答复网络服务器:呼叫已确认,己方已经响铃;

步骤S1110是网络服务器答复主叫方:呼叫已确认,被叫方已经响铃;

步骤S1111是被叫方答复网络服务器:己方选择接听/拒绝该次通话;

步骤S1112是网络服务器答复主叫方:被叫方选择接听/拒绝该次通话。如果被叫方选择接听该次通话,网络服务器就可以帮助主叫方和被叫方连通成为一次网络通话了。

图12是根据本发明实施例的网络电话建立连接时被叫方已经连接着数据网络时的过程示意图。

前提:网络电话建立连接时被叫方已经连接数据网络并且登陆了网络服务器,因此服务器知道被叫方已经连接数据网络。

如图12所示,该流程包括如下步骤:

步骤S1201是主叫方向网络服务器发起请求,要求拨打被叫方;

步骤S1202是网络服务器通知被叫方有来自于主叫方的呼叫;

步骤S1203是被叫方答复网络服务器:呼叫已确认,己方已经响铃;

步骤S1204是网络服务器答复主叫方:呼叫已确认,被叫方已经响铃;

步骤S1205是被叫方答复网络服务器:己方选择接听/拒绝该次通话;

步骤S1206是网络服务器答复主叫方:被叫方选择接听/拒绝该次通话。如果被叫方选择接听该次通话,网络服务器就可以帮助主叫方和被叫方连通成为一次网络通话了。

图13是根据本发明实施例的网络电话建立连接时被叫方没有连接着数据网络,同时又无法接收来自电路域的电话时的流程示意图。

前提:网络电话建立连接时被叫方没有连接数据网络,而且被叫方因为某些原因(例如:欠费、关机、不在服务区、空号码等)无法接收来自电路域的电话。又或者网络服务器拨打被叫方电话成功,但因为某些原因(例如:被叫方设置了不响应S1002中特殊来电,被叫方因为未知原因始终连不上数据网络等等),在之后一定时间之内网络服务器未接到被叫方的答复,网络服务器等待超时了。

如图13所示,该流程图包括如下步骤:

步骤S1301是主叫方向网络服务器发起请求,要求拨打被叫方;

步骤S1302是网络服务器知道被叫方没有连接数据网络,于是通过电路域向被叫方拨出电话,试图唤醒被叫方;

步骤S1303是电路域答复网络服务器因为某种原因(例如:欠费、关机、不在服务 区、空号码等),拨打被叫方失败。又或者网络服务器拨打被叫方电话成功,但因为某些原因,在之后一定时间之内网络服务器未接到被叫方的答复,网络服务器等待超时了。

步骤S1304是网络服务器答复主叫方,因为某个原因无法接通被叫方,本次通话失败。

被叫方终端对于特征来电的处理逻辑的实施例:

图14是根据本发明实施例的被叫方终端网络电话连接的处理流程图,如图14所示,按时间先后顺序说明如下:

在正常被叫流程中,被叫方终端的协议栈在向移动交换中心(Mobile Switching Center,简称为MSC)发送层三消息Call Confirmed之后,就会一方面向MSC发送层三消息Alerting(意思是被叫方已经响铃),同时另一方面向MMI发送RING消息,该消息通知MMI应该显示来电界面了;

MMI在收到RING消息后,会检查来电的特征,根据特征判断出这是否是来自于服务器的电话,即特征来电;

作为一种可选的示例,判断上述RING消息携带的电话号码是否为特定的来电号码(例如,上述特定的来电号码可以预先设置为12345670000),若该电话号码为上述特定的来电号码,则判断出上述电话号码为服务器的电话号码,呼叫来自于服务器;否则,判断出上述电话号码不为服务器的电话号码,呼叫不是来自于服务器。

作为另一种可选的示例,判断上述RING消息携带的电话号码是否在特定的来电号码段内(例如,上述来电号码段为12345670000~12345679999),若该电话号码为上述特定的来电号码段,则判断出上述电话号码为服务器的电话号码,呼叫来自于服务器;否则,判断出上述电话号码不为服务器的电话号码,呼叫不是来自于服务器。

需要说明的是,上述对于服务器的电话号码的判断方法只是一种示例,本发明不仅限于此。

如果不是特征来电,就按正常流程处理,显示来电界面;

如果是特征来电,就挂断该来电;

在挂断特征来电之后,被叫方主动去连接数据网络;

如果连接数据网络成功,就与服务器进行交互,得到来电号码等信息,显示来电界面;具体地,如图15所示,当被叫方连接数据网络成功后,步骤S1501是被叫方用自己的用户名和密码登陆服务器(此处优选的用户名是被叫方的电话号码,优选的密码是被叫方在服务器上注册时设置的密码);步骤S1502是服务器确认被叫方登陆成功;步骤S1503是服务器通知主叫方,被叫方上线了;步骤S1504是服务器通知被叫方有来自于主叫方的呼叫,内带主叫方的电话号码,于是被叫方显示来电界面,将电话号码以及 在匹配出来的联系人名字显示给用户,并且响铃(/+震动,视用户设置而定)提示用户;步骤S1505是被叫方答复服务器:呼叫已确认,己方已响铃;步骤S1506是服务器答复主叫方:呼叫已确认,被叫方已经响铃;当用户选择接听后,步骤S1507是被叫方答复服务器:己方选择接听该次通话,内带被叫方IP地址;步骤S1508是服务器答复主叫方:被叫方选择接听该次通话,内带被叫方IP地址;步骤S1509是主叫方答复服务器,确认建立通话,内带主叫方IP地址和监听端口号;步骤S1510是服务器答复被叫方,确认建立通话,内带主叫方IP地址和监听端口号;步骤S1511是被叫方不经过服务器,而是直接连接主叫方的IP地址和监听端口号,主叫方在检查了被叫方的IP地址后,双方连接建立,开始VOIP通话。

如果连接数据网络失败,或者与服务器进行交互失败,被叫方会在一定时间范围内重试一定次数,如果还不成功,就放弃本次网络通话,用户不会看到来电提示。

被叫方可设置在MMI不对特征来电进行进一步处理。

以下是一个实现了本发明的实例和一个已经实现了该实例的手机:

在该实例中,数据网络上交互流程中的信令,以及网络通话数据均是加密传输的,即这是一个加密电话;

该实例制作的应用程序作为手机预制的应用程序,在手机出厂时就预置在中兴手机中,不可删除;

该实例制作的应用程序被赋予了特殊权限,可以在MMI底层拦截特征来电,所以用户看不到特征来电的来电界面;

该实例制作的应用程序被赋予了特殊权限,可以主动连接/断开数据网络;

使用前,用户需要在服务器上注册自己的真实电话号码,服务器发送带有验证码的短信给该号码进行鉴权,绑定该SIM卡的IMSI号;

该实例建立网络通话的流程如图10,11,12所示,不再赘述;

主叫方从发出呼叫请求成功到服务器答复呼叫确认的等待时长为60秒;如果60秒内未接到呼叫确认,说明服务器故障,本次通话失败;

服务器从拨打电路域电话成功到收到被叫方答复呼叫确认的等待时长为45秒,如果45秒内未接到答复,服务器应答复主叫方,被叫方故障,本次通话失败;

被叫方从收到特征来电到与服务器进行交互成功的超时时长为40秒,一旦超时,不再重试,放弃本次网络通话,用户不会得到来电提示;

服务器收到被叫方呼叫确认后,等待被叫方答复接听/拒绝该次通话的等待时长是50秒;同样,收到服务器呼叫确认后,主叫方等待被叫方答复接听/拒绝该次通话的等 待时长也是50秒。如果没有超时还没有答复,均视为拒绝;

被叫方响铃后需要在50秒内答复服务器己方接听/拒绝该次通话,如果超过50秒用户都还没有选择,视为用户拒绝;

主叫方可以在上述过程中随时通知服务器取消本次通话,服务器会尽量通知被叫方取消本次通话;

目前相关技术中的手机就是实现了本文所述网络电话连接方法,可以使用该连接方法互相拨打网络电话的终端;

该实例制作的应用程序并非必须在出厂时预置在手机中,也可以作为第三方应用安装在手机上,仍然可以拦截特征来电和主动连接/断开数据网络,只是用户体验稍差(用户可能会看到特征来电界面闪现一下就消失)。

当被叫方手机处于睡眠状态时,来自电路域的电话会唤醒手机,如果是特征来电,就会触发前述建立网络电话连接的流程。注意:手机苏醒后有可能再次进入睡眠状态,这会影响连接数据网络的成功率。所以该实例制作的应用程序应该在整个连接流程中阻止手机再次进入睡眠状态,直到流程结束。

综上所述,通过本发明的网络电话连接方法,在接通电话过程中所耗时延以及在接通率方面与普通电路域电话相差不多,用户体验良好;不需要一直连接数据网络,省电;在智能机上以第三方应用形式安装,可以跨不同制式手机使用,使用范围大。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1