语音通信中的呼叫方法及移动终端的制作方法

文档序号:7930094阅读:199来源:国知局
专利名称:语音通信中的呼叫方法及移动终端的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种语音通信中的呼叫方法及移动终端。
背景技术
移动终端的核心应用是语音通信。移动通信运营商基于2G或3G移动通信网络提供的语音通信服务为收费的服务,通话时间越长,收费越多。进入移动互联网时代后,一些移动终端用户在自己的终端上安装了语音客户端, 利用移动终端自带的无线网络模块连接互联网,通过互联网和另一个在线用户进行语音通信,这种基于互联网的通信方式几乎是免费的,但是这种通信方式也带来一个问题,即需要通信的双方时刻都必须接入无线互联网,任何一方不在线,通信就无法进行。为了克服通信双方都需要在线否则无法进行即时通信的问题,曾提出过一种使用动态选择通信网络的方法来实现无线网络和移动通信网络的自动切换,使得用户无需每次手动检查被叫方在是否在线,就可以立即进行语音通信,很好的改善了用户体验。但是这种方法仍然会带来网络可靠性的问题,即时双方都在线,也可能因为互联网信号不好,造成通信的不稳定甚至通信失败,表面上虽然通信成本低了,但是因为通讯质量变差,反而再次引起用户体验变差。

发明内容
本发明主要解决的技术问题是提供一种语音通信中的呼叫方法及移动终端,能够有效保证语音通信的即时性和可靠性。为解决上述技术问题,本发明采用的一个技术方案是提供一种语音通信中的呼叫方法,所述方法包括以下步骤呼叫方在向被叫方发起呼叫时判断自身是否连接上互联网;若判断为是,则呼叫方判断呼叫方和被叫方是否均已登录互联网服务器;若判断为是, 则呼叫方判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准; 如果符合标准,则呼叫方选择通过互联网呼叫被叫方,否则,呼叫方选择移动通信网络呼叫被叫方。其中,判断呼叫方和被叫方是否均已登录互联网服务器的步骤之前,包括利用呼叫方的移动终端号码作为帐号并通过网络协议栈登录互联网服务器,若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态。其中,判断呼叫方和被叫方是否均已登录互联网服务器的步骤包括通过网络协议栈返回的在互联网服务器中记录的在线状态来判断呼叫方和被叫方是否均已登录互联网服务器,网络协议栈返回的是呼叫方和被叫方均在线的结果,则判断为呼叫方和被叫方均已登录上互联网服务器;若网络协议栈返回的是呼叫方或被叫方不在线的结果,则判断为呼叫方和被叫方并非均已登录上互联网服务器。其中,向被叫方发起呼叫时判断是否连接上互联网的步骤包括根据调用函数返回的结果来判断是否通过网络协议栈连接上互联网,若调用函数返回的结果是0,则判断为没有通过网络协议栈连接上互联网;若调用函数返回的结果是1,则判断为通过网络协议栈连接上互联网。其中,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,呼叫方发送一个专用的数据包并得到对方的响应的时间值,判断时间值是否超时, 如果超时,则判断为通过互联网进行通话的网络质量不符合通信的标准,否则,判断为符合标准。其中,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,被叫方调用系统函数读出自身互联网的连接状态,并把连接状态发送到服务器,呼叫方查询服务器得到连接状态,然后根据连接状态判断是否符合通信的标准。其中,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,被叫方使用Ping函数测试服务器和移动终端之间的响应速度,该函数可以返回一个Ping值并把ping值发送给呼叫方,呼叫方把ping值与一个预设阈值比较,当大于预设阈值时,判断不符合通信的标准,否则,判断为符合标准。为解决上述技术问题,本发明采用的另一个技术方案是提供一种移动终端,移动终端包括第一判断单元,用于在向被叫方发起呼叫时判断是否连接上互联网;第二判断单元,用于在判断为连接上互联网时,判断呼叫方和被叫方是否均已登录互联网服务器;第三判断单元,用于在判断为均已登录互联网服务器时,判断互联网是否符合通信的标准;选择单元,用于在判断互联网符合通信的标准时,则选择互联网呼叫被叫方,否则,选择移动通信网络呼叫被叫方。其中,移动终端包括登录单元,用于在判断呼叫方和被叫方是否均已登录互联网服务器之前,利用呼叫方的移动终端号码作为帐号并通过网络协议栈登录互联网服务器, 若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态。其中,移动终端包括网络协议栈模块、通信协议栈模块以及信号处理模块;网络协议栈模块,与第一判断单元、第二判断单元、第三判断单元、登录单元、选择单元以及信号处理模块相连;通信协议栈模块,与选择单元以及信号处理模块相连;信号处理模块,与网络协议栈模块、通信协议栈模块以及选择单元相连,用于在选择单元选择互联网呼叫时与网络协议栈模块一起实现呼叫被叫方的功能,或,在选择单元选择移动通信网络呼叫时与通信协议栈模块一起实现呼叫被叫方的功能;其中,第一判断单元、第二判断单元、第三判断单元、选择单元以及登录单元设置于一中央处理模块内。其中,第一判断单元,具体用于在向被叫方发起呼叫时判断是否连接上互联网时, 根据调用函数返回的结果来判断是否通过网络协议栈模块连接上互联网,若调用函数返回的结果是0,则判断为没有通过网络协议栈模块连接上互联网;若调用函数返回的结果是 1,则判断为通过网络协议栈模块连接上互联网。为解决上述技术问题,本发明采用的另一个技术方案是提供一种移动终端,所述移动终端包括判断模块,用于在接收到呼叫时判断所述呼叫是否来自互联网;选择模块, 用于在所述判断为是时,则选择互联网进行语音通信,否则选择移动通信网络进行语音通信。本发明能够自动判断并优先选择几乎免费的无线互联网进行语音通信,降低通信费用,并且通信双方有一方没有连接上互联网时,移动终端还能自动选择移动通信网络进行语音通信,保证语音通信的即时性和可靠性。


图1是本发明实施例提供的语音通信中的呼叫方法的流程图;图2是本发明实验例提供的语音通信系统的示意图;图3是本发明实施例提供的一种移动终端的示意图;图4是本发明实施例提供的另一种移动终端的示意图。
具体实施例方式请参见图1,本发明实施例提供的语音通信中的呼叫方法的流程图包括步骤101 呼叫方在向被叫方发起呼叫时判断自身是否连接上互联网;呼叫方从电话簿中选出被叫方名字或输入被叫方电话号码,向被叫方发起呼叫, 同时,根据调用函数返回的结果来判断是否已通过网络协议栈连接上互联网。移动终端可以通过调用专门的API函数,用来检测当前的网络连接状态,不同的系统软件有不同的API 函数命名,比如有些软件系统调用IsCormectedO函数返回网络的状态,若调用函数返回的结果是0,则判断为没有通过网络协议栈连接上互联网,之后,选择移动通信网络并通过通信协议栈向被叫方发起呼叫;若调用函数返回的结果是1,则判断为通过网络协议栈连接上互联网,移动终端通过调用函数可以非常方便地判断出网络协议栈是否可以工作,即移动终端是否可以连接无线网络。在判断为通过网络协议栈连接上互联网之前,可以先利用呼叫方的移动终端号码作为帐号并通过网络协议栈登录互联网服务器,当然也可以使用移动终端预设的其他号码,作为绑定移动终端号码的帐号通过网络协议栈登录互联网服务器。若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态。在更多的设计中,可以在记录为不在线状态之后继续重新登录互联网服务器,重新登录的次数可以设定一个阈值。具体地,移动终端基于TCP/IP协议,利用网络协议栈来实现登录,比如使用普通网站的登录方式,先通过网络协议传递移动终端号码,然后等待互联网服务器响应,如果响应成功,那么就说明成功登录或者成功在线,移动终端把自己的在线状态记录到本机的在线状态变量中,同时互联网服务器也会把成功登录的信息记录在自己的数据库中。如果互联网服务器没有响应或者响应错误的移动终端号码,那么就说明登录失败或者掉线,并在互联网服务器中进行记录;同样,移动终端把该状态也会被记录到本机的在线状态变量中。当移动终端和互联网服务器连接后,该连接被一直保持,由于使用的是TCP/IP协议,该协议允许通信双方时刻保持连接,通信双方任何一方连接丢失,都可以被另外一方 (互联网服务器或者移动终端)察觉到,如果连接丢失比如因为通信故障或者某一方掉电, 那么另外一方就要做出合适的响应。比如互联网服务器发现连接断开,那么应该在自己的数据库中记录该移动终端号码不在线,如果移动终端发现连接断开,那么移动终端应该首先修改自己的在线状态变量为不在线,然后尝试重新连接互联网服务器,直到连接成功后, 才把在线状态变量修改为在线。步骤102 若判断为是,则呼叫方判断呼叫方和被叫方是否均已登录互联网服务器;在步骤102中,在判断通过网络协议栈连接上互联网之后就执行本步骤,具体是通过网络协议栈返回的在互联网服务器中记录的在线状态来判断呼叫方和被叫方是否均已登录互联网服务器,网络协议栈返回的是呼叫方和被叫方均在线的结果,则判断为呼叫方和被叫方均已登录上互联网服务器;若网络协议栈返回的是呼叫方或被叫方不在线的结果,则判断为呼叫方和被叫方并非均已登录上互联网服务器。其中,被叫方利用其移动终端号码作为帐号通过网络协议栈登录互联网服务器若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态,并在记录为不在线状态之后重新登录互联网服务器。判断被叫方是否登录互联网服务器的方法或者规范可以自由设计,比如通过网络协议栈发送被叫方电话号码给互联网服务器,互联网服务器收到该电话号码后开始本地数据库查询,检查该号码是否已经被记录为在线,如果在线则通过网络协议栈返回呼叫方“被叫方在线”的信号,否则,通过网络协议栈返回呼叫方“被叫方不在线”的信号。步骤103 若判断为是,则呼叫方判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准;在本实施例中,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准可以有多种方法,其中,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,被叫方调用系统函数读出自身互联网的连接状态,并把连接状态发送到服务器,呼叫方查询服务器得到连接状态,然后根据连接状态判断是否符合通信的标准。具体而言,被叫方可以采用主动通知服务器的检测方法,把自身互联网的连接状态发送给服务器,让服务器知道当前的连接情况。移动终端的互联网的连接状态会有非常好,强,中等,非常弱等级别,被叫方可以调用系统函数读出互联网的连接状态,并把互联网的连接状态传递给服务器,呼叫方可以通过查询服务器得到被叫方互联网的连接状态,然后根据被叫方互联网的连接状态判断被叫方是否能够选择互联网进行呼叫。在查询到被叫方互联网的连接状态信号非常弱的时候,呼叫方可能就设定为不用互联网呼叫。判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,被叫方使用Ping函数测试服务器和移动终端之间的响应速度,该函数可以返回一个 Ping值并把ping值发送给呼叫方,呼叫方把ping值与一个预设阈值比较,当大于预设阈值时,判断不符合通信的标准,否则,判断为符合标准。具体地,被叫方可以和服务器进行实时的测试通信,例如使用Ping函数来测试服务器和移动终端之间的响应速度,该函数可以返回一个Ping值,反映发送一个数据包到被叫方并得到被叫方的响应需要多少时间,Ping值越大表示互联网连接的质量越差。ping值可以作为一个互联网连接质量的参数保存在服务器上,并通知给呼叫方,呼叫方如果得到被叫方的Ping值并判断该值超过预设阈值或者过大,那么就判断不适用于互联网通信,那么仍然使用移动通信网络通信。判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,呼叫方发送一个专用的数据包并得到对方的响应的时间值,判断时间值是否超时,如果超时,则判断为通过互联网进行通话的网络质量不符合通信的标准,否则,判断为符合标准。通过通信双方使用互联网通信前互相直接测试而不从中间服务器的得到网络质量信息,这种方法尤其适用于利用TCP/IP协议直接互联的语音通信。通信双方在进行通信前,先建立测试信道,呼叫方发起测试,并检测网络连接质量是否可以完成通信,最终根据测试分数判断该用哪个网络发起呼叫,具体的测试方法可以是Ping测试法或者误码率测试法发送一个专用的数据包并得到对方的响应的时间值,判断时间值是否超时,如果超时,则判断为通过互联网进行通话的网络质量不符合通信的标准,否则,判断为符合标准。 本发明对如何利用无线数据网络进行通信不做特别限定。步骤104 如果符合标准,则呼叫方选择通过互联网呼叫被叫方,否则,呼叫方选择移动通信网络呼叫被叫方;在判断为呼叫方和被叫方均已登录上互联网服务器之后,选择互联网并通网络协议栈呼叫被叫方;在判断为呼叫方和被叫方并非均已登录上互联网服务器之后,选择移动通信网络并通过通信协议栈呼叫被叫方。此外,被叫方在接收到呼叫方发起的呼叫后,进行如下步骤步骤一判断呼叫是否来自互联网;移动终端会时刻通过网络协议栈检查自己是否已经连接互联网,如果连接上互联网便会登录互联网服务器标识自己的在线状态,这个状态会被互联网服务器的数据库记录,也会记录在本地的在线状态变量中。如果自己在线,呼叫方通过互联网发起呼叫,那么该呼叫信号通过互联网传递到自己的天线中,再传递到网络协议栈中,被解析成呼叫信号; 如果自己没有在线,那么通信协议栈会接收到呼叫信号,经主天线传递给通信协议栈,被解析成呼叫信号,移动终端通过判断呼叫信号是被网络协议栈解析还是被通信协议栈解析来判断呼叫是否来自互联网。其中,网络协议栈是基于TCP/IP协议标准对信号进行编解码处理,即把原始信号编码成网络信号格式,并经无线网络天线传递到国际互联网上或者把无线网络天线上收到的互联网信号,解码成原始信号;通信协议栈负责把主天线接受到的通信信号,解析成普通的数字语音信号或者把数字语音信号包装成标准通信信号经主天线传送出去。通信协议栈必须符合3GPP的标准才能和基站进行通信,它一般包含具有快速计算能力的硬件DSP,以及一个软件协议栈,通过软硬件的配合可以把收到的信号进行实时解析并传递,现有移动终端一般都会使用专门的片上系统(System on a Chip, SOC)芯片来实现通信协议栈的功能,这类Soc的供应商有很多,比如Mediatek、高通公司等等。步骤二 当判断出呼叫来自互联网,则在移动终端的屏幕上提示用户有新来电,并启动基于互联网协议语音(Voice over Internet ftOtocol,VoIP)技术的互联网程序响应该呼叫;当判断出呼叫不是来自互联网,则在移动终端的屏幕上提示用户有新来电,并启动正常的基于2G/3G等网络制式的移动通信网络程序响应该呼叫。本实施例可以进一步作出要求,通信双方的移动终端一旦连接到互联网后,就立即登录互联网服务器,并在互联网服务器的数据库中记录通信双方的连接状态,并且通信双方保持和互联网服务器的连接。这样,通信双方的移动终端登录互联网服务器后,互联网服务器就知道通信双方的移动终端都已经准备好,可以随时通过互联网进行语音通信。利用互联网的语音通信可以通过多种方法,比如通信双方通过TCP/IP建立对等网络,对等网络间通过VoIP技术进行对等语音通信,这种通信不占用服务器资源,节省服务器带宽,还有一种基于互联网服务器的方法,即通信双方把语音消息先发送到处于中间的互联网服务器,互联网服务器再转发到另一方,完成通信。互联网的本质是数据通信网络,移动通信网络也支持高速的数据通信业务,比如基于3.5G网络的高速分组接入(high speed packet access, HSPA)数据业务,理论上,使用HSPA高速数据通信也可以实现类似的功能,但是HSPA是收费的,利用无线互联网会更便宜。本实施例并不会限制数据网络的承载方式,只要选择最优的数据通信网络即可。区别于现有技术的移动终端语音通信过程中即时性和可靠性较差的情况,本发明能够自动判断并优先选择几乎免费的无线互联网进行语音通信,降低通信费用,并且通信双方有一方没有连接上互联网时,移动终端还能自动选择移动通信网络进行语音通信,保证语音通信的即时性和可靠性。请参见图2,本发明实施例提供的语音通信系统的示意图,所述系统包括第一移动终端1、第二移动终端2以及互联网服务器3。其中,第一移动终端1包括通信模块11及电话簿管理模块12,第二移动终端2包括通信模块21及电话簿管理模块22。第一移动终端1内部的通信模块11以及第二移动终端2内部的通信模块21集成了互联网通信服务和移动网络通信服务,互联网通信服务可以是无线保真(Wireless Fidelity,WIFI)连接到互联网后的得到的数据服务;第一移动终端1内部的电话簿管理模块12负责第一移动终端1 的语音的接听、拨打、以及联系人的维护等等,第二移动终端2内部的电话簿管理模块22负责第二移动终端2的语音的接听、拨打、以及联系人的维护等等;互联网服务器3,用于记录第一移动终端1以及第二移动终端2登录互联网的状态。在第一移动终端1通过其电话簿管理模块12呼叫第二移动终端2前,第一移动终端1通过其通信模块11判断自己是否已经连接互联网,如果没有连接互联网,则选择移动通信网络向第二移动终端2发起呼叫,第二移动终端2的电话簿管理模块22接听呼叫后, 通过第二移动终端2的通信模块21与第一移动终端1进行语音通信;如果已经连接互联网,则第一移动终端1登录到互联网服务器3并记录为在线状态,之后检查第二移动终端2 是否也在线,如果第二移动终端2不在线,则选择移动通信网络向第二移动终端2发起呼叫,第二移动终端2的电话簿管理模块22接听呼叫后,通过第二移动终端2的通信模块21 与第一移动终端1进行语音通信,如果第二移动终端2在线,则选择互联网向第二移动终端 2发起呼叫,第二移动终端2的电话簿管理模块22接听呼叫后,通过第二移动终端2的通信模块21与第一移动终端1进行语音通信,或者在第二移动终端2通过其电话簿管理模块22呼叫第一移动终端1前,第二移动终端2通过其通信模块21判断自己是否已经连接互联网,如果没有连接互联网,则选择移动通信网络向第一移动终端1发起呼叫,第一移动终端1的电话簿管理模块12接听呼叫后, 通过第一移动终端1的通信模块11与第二移动终端2进行语音通信;如果已经连接互联网,则第二移动终端2登录到互联网服务器3并记录为在线状态,之后检查第一移动终端1 是否也在线,如果第一移动终端1不在线,则选择移动通信网络向第一移动终端1发起呼叫,第一移动终端1的电话簿管理模块12接听呼叫后,通过第一移动终端1的通信模块11 与第二移动终端2进行语音通信,如果第一移动终端1在线,则选择互联网向第一移动终端 1发起呼叫,第一移动终端1的电话簿管理模块12接听呼叫后,通过第一移动终端1的通信模块11与第二移动终端2进行语音通信。请参见图3,本发明实施例提供的一种移动终端的示意图,包括中央处理模块4、通信协议栈模块5、网络协议栈模块6以及信号处理模块7。中央处理模块4内设置有第一判断单元41、登录单元42、第二判断单元43、第三判断单元44以及选择单元45。网络协议栈模块6,与第一判断单元41、登录单元42、第二判断单元43、第三判断单元44、选择单元45以及信号处理模块7相连;网络协议栈模块6是基于TCP/IP协议标准对信号进行编解码处理的模块,该模块可以是软件模块也可以是硬件模块,网络协议栈模块6的作用是把原始信号编码成网络信号格式,并经无线网络天线传递到互联网上;或者把无线网络天线上收到的互联网信号,解码成原始信号交由信号处理模块7处理。通信协议栈模块5,与选择单元45以及信号处理模块7相连。通信协议栈模块5 负责把主天线接受到的通信信号,解析成普通的数字语音信号,并传递给信号处理模块7。 在一个实施例中,要求通信协议栈模块5符合3GPP的标准才能和基站进行通信,它一般包含具有快速计算能力的硬件DSP,以及一个软件协议栈,通过软硬件的配合可以把收到的信号进行实时解析并传递,现代移动终端一般都会使用专门的片上系统SOC芯片来实现这个通信协议栈的功能,这类Soc的供应商有很多,比如Mediatek,高通公司等等。信号处理模块7,与通信协议栈模块5、网络协议栈模块6以及选择单元45相连, 用于在选择单元45选择互联网呼叫时与网络协议栈模块6通信,或,在选择单元45选择移动通信网络呼叫时与通信协议栈模块5通信。信号处理模块7是一个软件模块也可以是一个硬件模块,它负责把数字信号处理变成可被喇叭接受的语音信号,反过来,也把语音信号变成数字信号,该模块会使用到各种信号处理算法,比如降噪处理,加密解密处理等等,这些处理可以通过专有的程序由计算芯片计算完成,也可以通过专有的硬件计算芯片运算完成。信号处理模块7不仅可以把原始语音信号传递给原来的通信协议栈模块5传送,也可以把信号传递给网络协议栈模块6传送,中央处理模块4根据算法自动决定了信号该经过通信协议栈模块5还是该经过网络协议模块6进行传送。中央处理模块4协调控制整个语音通信过程,比如负责有新信号到来时,对信号进行响应,有来电时通知用户响应,打开信号通道(接听电话),把通信协议栈模块5的信号或网络协议栈模块6的信号有序传递到信号处理模块7中并控制信号等等,还负责通知通信协议栈模块5或网络协议栈模块6建立新的呼叫链路(呼出电话),并在通道接通后把信号处理模块7的信号导入通信协议栈模块5或网络协议栈模块6中。中央处理模块4是通过设置于其内的各个单元来实现其协调控制语音通信的功能。各个单元的具体作用如下第一判断单元41,用于在向被叫方发起呼叫时判断是否连接上互联网,具体地,根据调用函数返回的结果来判断是否通过网络协议栈模块6连接上互联网,若调用函数返回的结果是0,则判断为没有通过网络协议栈模块6连接上互联网;若调用函数返回的结果是 1,则判断为通过网络协议栈模块6连接上互联网。第一判断单元可以通过调用专门的API 函数,用来检测当前的网络连接状态,不同的系统软件有不同的API函数命名,比如有些软件系统调用IsCormectedO函数返回网络的状态,若调用函数返回的结果是0,则判断为没有通过网络协议栈模块6连接上互联网,之后,选择移动通信网络并通过通信协议栈模块6 向被叫方发起呼叫;若调用函数返回的结果是1,则判断为通过网络协议栈模块6连接上互联网。第一判断单元41通过调用函数可以非常方便地判断出网络协议栈模块6是否可以工作。
在判断为通过网络协议栈模块6连接上互联网之前,也可以在之后,登录单元42 利用呼叫方的移动终端号码作为帐号通过网络协议栈模块6登录互联网服务器,当然也可以使用移动终端预设的其他号码作为帐号通过网络协议栈模块6登录互联网服务器,若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态,并在记录为不在线状态之后重新登录互联网服务器。具体地,登录单元42基于TCP/IP协议,利用网络协议栈模块6来实现登录,比如使用普通网站的登录方式,先通过网络协议模块6传递移动终端号码,然后等待互联网服务器响应,如果响应成功,那么就说明成功登录或者成功在线,移动终端把自己的在线状态记录到在线状态变量中,同时互联网服务器也会把成功登录的信息记录在自己的数据库中。如果互联网服务器没有响应或者响应错误的移动终端号码,那么就说明登录失败或者掉线,同样,移动终端把该状态也会被记录到在线状态变量中。当移动终端和互联网服务器连接后,该连接被一直保持,由于使用的是TCP/IP协议,该协议允许通信双方时刻保持连接,通信双方任何一方连接丢失,都可以被另外一方(互联网服务器或者移动终端)察觉到,如果连接丢失比如因为通信故障或者某一方掉电,那么另外一方就要做出合适的响应。比如互联网服务器发现连接断开,那么应该在自己的数据库中记录该移动终端号码不在线,如果移动终端发现连接断开,那么移动终端应该首先修改自己的在线状态变量为不在线,然后尝试重新连接互联网服务器,直到连接成功后,才把在线状态变量修改为在线。第二判断单元43,用于在判断为连接上互联网时,判断呼叫方和被叫方是否均已登录互联网服务器,具体地,通过网络协议栈模块6返回的在远程服务器中记录的在线状态来判断呼叫方和被叫方是否均已登录互联网服务器,若通过网络协议栈模块6返回的是呼叫方和被叫方均在线的结果,则判断为呼叫方和被叫方均已登录互联网服务器;若通过网络协议栈模块6返回的是呼叫方和被叫方均不在线的结果,则判断为呼叫方和被叫方并非均已登录互联网服务器。其中,被叫方利用其移动终端号码作为帐号并通过网络协议栈模块6登录互联网服务器,若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态,并在记录为不在线状态之后重新登录互联网服务器。判断被叫方是否登录互联网服务器的方法或者规范可以自由设计,比如通过网络协议栈模块6发送被叫方电话号码给互联网服务器,互联网服务器收到该电话号码后开始本地数据库查询,检查该号码是否已经被记录为在线,如果在线则通过网络协议栈模块6返回呼叫方“被叫方在线”的信号,否则,通过网络协议栈模块6返回呼叫方“被叫方不在线”的信号。第三判断单元44,用于在判断为均已登录互联网服务器时,判断互联网是否符合通信的标准。选择单元45,用于在所述判断为是时,则选择互联网呼叫被叫方,否则,选择移动通信网络呼叫被叫方。比如,在第二判断单元43判断为呼叫方和被叫方均已登录上互联网服务器之后,选择单元45选择互联网并通网络协议栈模块6呼叫被叫方;在第二判断单元 43判断为呼叫方和被叫方并非均已登录上互联网服务器之后,选择单元45选择移动通信网络并通过通信协议栈呼叫被叫方。请参见图4,本发明实施例提供的另一种移动终端示意图,包括判断模块81,用于在接收到呼叫时判断所述呼叫是否来自互联网;
移动终端会时刻通过网络协议栈检查自己是否已经连接互联网,如果连接上互联网便会登录互联网服务器标识自己的在线状态,这个状态会被互联网服务器的数据库记录,也会记录在本地的在线状态变量中。如果自己在线,呼叫方通过互联网发起呼叫,那么该呼叫信号通过互联网传递到自己的天线中,再传递到网络协议栈中,被解析成呼叫信号; 如果自己没有在线,那么通信协议栈会接收到呼叫信号,经主天线传递给通信协议栈,被解析成呼叫信号,移动终端通过判断呼叫信号是被网络协议栈解析还是被通信协议栈解析来判断呼叫是否来自互联网。选择模块82,用于在所述判断为是时,则选择互联网进行语音通信,否则选择移动通信网络进行语音通信;当判断出呼叫来自互联网,则在移动终端的屏幕上提示用户有新来电,并启动基于互联网协议语音(Voice over Internet Protocol, VoIP)技术的互联网程序响应该呼叫;当判断出呼叫不是来自互联网,则在移动终端的屏幕上提示用户有新来电,并启动正常的基于2G/3G的移动通信网络程序响应该呼叫。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种语音通信中的呼叫方法,其特征在于,所述方法包括以下步骤呼叫方在向被叫方发起呼叫时判断自身是否连接上互联网;若判断为是,则呼叫方判断呼叫方和被叫方是否均已登录互联网服务器;若判断为是,则呼叫方判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准;如果符合标准,则呼叫方选择通过互联网呼叫被叫方,否则,呼叫方选择移动通信网络呼叫被叫方。
2.如权利要求1所述的方法,其特征在于,判断呼叫方和被叫方是否均已登录互联网服务器的步骤之前,包括利用呼叫方的移动终端号码作为帐号并通过网络协议栈登录互联网服务器,若登录上互联网服务器,则记录为在线状态,否则记录为不在线状态。
3.如权利要求2所述的方法,其特征在于,判断呼叫方和被叫方是否均已登录互联网服务器的步骤包括通过网络协议栈返回的在互联网服务器中记录的在线状态来判断呼叫方和被叫方是否均已登录互联网服务器,网络协议栈返回的是呼叫方和被叫方均在线的结果,则判断为呼叫方和被叫方均已登录上互联网服务器;若网络协议栈返回的是呼叫方或被叫方不在线的结果,则判断为呼叫方和被叫方并非均已登录上互联网服务器。
4.如权利要求1所述的方法,其特征在于,向被叫方发起呼叫时判断是否连接上互联网的步骤包括根据调用函数返回的结果来判断是否通过网络协议栈连接上互联网,若调用函数返回的结果是0,则判断为没有通过网络协议栈连接上互联网;若调用函数返回的结果是1,则判断为通过网络协议栈连接上互联网。
5.根据权利要求1所述的方法,其特征在于,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,呼叫方发送一个专用的数据包并得到对方的响应的时间值,判断时间值是否超时,如果超时,则判断为通过互联网进行通话的网络质量不符合通信的标准,否则,判断为符合标准。
6.根据权利要求1所述的方法,其特征在于,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,被叫方调用系统函数读出自身互联网的连接状态,并把所述连接状态发送到服务器,呼叫方查询所述服务器得到所述连接状态,然后根据所述连接状态判断是否符合通信的标准。
7.根据权利要求1所述的方法,其特征在于,判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准时,被叫方使用Ping函数测试服务器和移动终端之间的响应速度,该函数可以返回一个Ping值并把所述ping值发送给呼叫方,呼叫方把所述Ping值与一个预设阈值比较,当大于所述预设阈值时,判断不符合通信的标准,否则,判断为符合标准。
8.一种移动终端,其特征在于,所述移动终端包括第一判断单元,用于在向被叫方发起呼叫时判断是否连接上互联网;第二判断单元,用于在判断为连接上互联网时,判断呼叫方和被叫方是否均已登录互联网服务器;第三判断单元,用于在判断为均已登录互联网服务器时,判断互联网是否符合通信的标准;选择单元,用于在判断互联网符合通信的标准时,则选择互联网呼叫被叫方,否则,选择移动通信网络呼叫被叫方。
9.如权利要求8所述的移动终端,其特征在于,所述移动终端包括登录单元,用于在判断呼叫方和被叫方是否均已登录互联网服务器之前,利用呼叫方的移动终端号码作为帐号并通过网络协议栈登录互联网服务器,若登录上互联网服务器, 则记录为在线状态,否则记录为不在线状态。
10.如权利要求9所述的移动终端,其特征在于所述移动终端包括网络协议栈模块、通信协议栈模块以及信号处理模块;所述网络协议栈模块,与所述第一判断单元、第二判断单元、第三判断单元、登录单元、 选择单元以及信号处理模块相连;所述通信协议栈模块,与所述选择单元以及信号处理模块相连;所述信号处理模块,与所述网络协议栈模块、通信协议栈模块以及选择单元相连,用于在所述选择单元选择互联网呼叫时与网络协议栈模块一起实现呼叫被叫方的功能,或,在所述选择单元选择移动通信网络呼叫时与通信协议栈模块一起实现呼叫被叫方的功能;其中,所述第一判断单元、第二判断单元、第三判断单元、选择单元以及登录单元设置于一中央处理模块内。
11.如权利要求8所述的移动终端,其特征在于所述第一判断单元,具体用于在向被叫方发起呼叫时判断是否连接上互联网时,根据调用函数返回的结果来判断是否通过网络协议栈模块连接上互联网,若调用函数返回的结果是0,则判断为没有通过网络协议栈模块连接上互联网;若调用函数返回的结果是1,则判断为通过网络协议栈模块连接上互联网。
12.—种移动终端,其特征在于,所述移动终端包括判断模块,用于在接收到呼叫时判断所述呼叫是否来自互联网;选择模块,用于在所述判断为是时,则选择互联网进行语音通信,否则选择移动通信网络进行语音通信。
全文摘要
本发明公开了一种语音通信中的呼叫方法及移动终端,所述方法包括呼叫方在向被叫方发起呼叫时判断自身是否连接上互联网;若判断为是,则呼叫方判断呼叫方和被叫方是否均已登录互联网服务器;若判断为是,则呼叫方判断呼叫方和被叫方之间通过互联网进行通话的网络质量是否符合通信的标准;如果符合标准,则呼叫方选择通过互联网呼叫被叫方,否则,呼叫方选择移动通信网络呼叫被叫方。通过上述方式,本发明能够自动判断并优先选择几乎免费的无线互联网进行语音通信,降低通信费用,并且通信双方有一方没有连接上互联网时,移动终端还能自动选择移动通信网络进行语音通信,保证语音通信的即时性和可靠性。
文档编号H04M1/725GK102378131SQ20111030089
公开日2012年3月14日 申请日期2011年10月8日 优先权日2011年10月8日
发明者叶大伟 申请人:惠州Tcl移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1