一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通话方法、系统和相关装置与流程

2022-02-25 18:34:00 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种通话方法、系统及相关装置。


背景技术:

2.随着通信技术的不断发展,运营商网络的覆盖面也越来越广。
3.然而,还是会存在运营商网络信号较差,或者完全没有信号的区域。例如,地下室、地下通道、楼栋密集的低层和楼栋高层等区域。当被叫终端(例如,手机)处于运营商网络信号较差或者没有信号的区域时,可能导致被叫终端无法接收到主叫终端的呼叫请求,从而导致主叫终端无法和被叫终端间建立通话连接。
4.此外,双卡单通的场景也可能会导致主叫终端和被叫终端无法建立通话连接。例如,被叫终端(例如,手机)支持双卡,双卡公用一套射频资源,无法做到同发。如果其中一张卡正在通话,另一张卡会由于无射频资源而无法接收到主叫终端的呼叫请求,进而导致主叫终端和被叫终端无法建立通话连接。另外,也会存在其它原因导致被叫终端无法收到主叫终端的呼叫请求,例如,被叫终端处于飞行模式。


技术实现要素:

5.本技术实施例提供一种通话方法、系统及相关装置,以解决由于运营商网络信号问题或者其它原因(例如,双卡单通、飞行模式等),导致被叫终端无法接收到主叫终端的呼叫请求的问题。
6.第一方面,本技术实施例提供一种通话系统,该系统包括第一终端设备、网络设备、voip服务器和第二终端设备,第二终端设备安装有作为voip客户端的第一应用程序。
7.其中,第一终端设备用于在检测到第一操作后,响应于第一操作,向网络设备发送第一呼叫请求,第一呼叫请求为针对目标号码发起的呼叫请求;网络设备用于在接收到第一呼叫请求后,根据第一呼叫请求,向voip服务器发送第一消息,第一消息携带有目标号码,且目标号码已开通呼叫转移服务;voip服务器用于在接收到第一消息后,根据第一消息,向与目标号码关联的第二终端设备发送第二呼叫请求;第二终端设备用于接收第二呼叫请求。第二呼叫请求为voip呼叫请求。
8.本技术实施例中,网络设备根据已开通呼叫转移服务的目标号码的呼叫请求,向voip服务器发送携带有目标号码的第一消息,即网络设备将第一呼叫请求前转至voip服务器,voip服务器根据第一消息中的目标号码,向目标号码关联的第二终端设备发起voip呼叫,使得被叫在无服务状态下(例如,无运营商网络信号或处于飞行模式等),仍然能接收到主叫的呼叫请求。
9.示例性地,目标号码开通的呼叫转移服务包括不可及呼叫转移服务,目标号码为第二终端设备的sim卡号码。第一终端设备针对目标号码发起蜂窝呼叫请求(即第一呼叫请求)。蜂窝呼叫请求传递至网络设备之后,网络设备对目标号码进行寻呼,此时,第二终端设备由于飞行模式或者无运营商网络信号等原因,sim卡处于无服务状态,导致网络设备寻呼
失败。寻呼失败时,网络设备生成携带有目标号码的第一消息,将第一消息发送给voip服务器。voip服务器再通过解析第一消息,得到目标号码,并通过目标号码查找到与其关联的第二终端设备后,向第二终端设备发起voip呼叫。这样,第二终端设备在sim卡无服务状态下仍然可以接收到第一终端发起的呼叫。
10.其中,网络设备可以是指运营商网络设备,第一消息可以是指前转消息,例如为invite消息。
11.在第一方面的一些可能的实现方式中,呼叫转移服务包括不可及呼叫转移服务,此时,网络设备具体用于根据第一呼叫请求,对目标号码进行寻呼;当寻呼失败,且目标号码预先设置的不可及呼叫转移号码为预设号码,则根据预设号码和第一呼叫请求,生成第一消息;向voip服务器发送第一消息。
12.在第一方面的一些可能的实现方式中,目标号码开通的呼叫转移服务也可以包括无条件呼叫转移服务、遇忙呼叫转移服务和无应答呼叫转移服务中的至少一种。此时,网络设备在接收到针对目标号码的呼叫请求时,并判定满足呼叫转移条件时,则向voip服务器发送携带目标号码的第一消息。
13.在第一方面的一些可能的实现方式中,该voip服务器包括第一voip服务器和第二voip服务器。
14.其中,第一voip服务器用于接收来自网络设备的第一消息,解析第一消息,得到目标号码,向第二voip服务器发送目标号码;第二voip服务器用于接收来自第一voip服务器的目标号码;查找与目标号码关联的voip通信信息,根据voip通信信息,向第二终端设备发送第二呼叫请求。
15.在该实现方式中,第一voip服务器可以为voip网关。在另一些实现方式中,第一voip服务器和第二voip服务器也可以集成在同一个服务器上。
16.在第一方面的一些可能的实现方式中,voip通信信息包括以下至少一项:第二终端设备的物理地址,第二终端设备的移动设备识别码(mobile equipment identifier,meid),第二终端设备的国际移动设备识别码((international mobile equipment identity,imei)。这些信息可以作为第二终端设备的设备唯一标识信息。此时,voip服务器可以通过这些设备唯一标识信息向第二终端设备发起voip呼叫。
17.当然,在其它一些实现方式中,voip通信信息还可以表现为其它形式,例如,voip通信信息可以包括voip号码。
18.第二方面,本技术实施例提供一种通话系统,该系统包括第一终端设备和第二终端设备,第二终端设备安装有作为voip客户端的第一应用程序。
19.其中,第一终端设备用于检测第一操作后,响应于第一操作,向网络设备发送第一呼叫请求,第一呼叫请求为针对目标号码发起的呼叫请求;
20.第二终端设备用于接收来自voip服务器的第二呼叫请求,第二呼叫请求为voip服务器根据来自网络设备的第一消息,向与目标号码关联的第二终端设备发送的voip呼叫请求,第一消息为网络设备根据第一呼叫请求,向voip服务器发送的消息,第一消息携带有目标号码,目标号码已开通呼叫转移服务。
21.可以理解的是,第一操作可以是指用于触发针对目标号码的呼叫的用户操作,该操作可以包括一个动作,也可以包括多个动作。例如,该第一操作为用户的拨号操作。
22.目标号码开通的呼叫转移服务包括以下至少一项:不可及呼叫转移、无条件呼叫转移、遇忙呼叫转移和无应答呼叫转移。
23.在第二方面的一些可能的实现方式中,第二终端设备在接收第二呼叫请求之后,还用于:通过第一应用程序响应于第二呼叫请求,显示第一界面,第一界面包括以下至少一项:第一终端设备的号码、第一按钮和第二按钮;其中,第一按钮用于接听呼叫,第二按钮用于拒接呼叫。例如,该第一界面为来电界面。
24.在第二方面的一些可能的实现方式中,第二终端设备还用于:当检测到针对第一按钮的第二操作后,响应于第二操作,通过第一应用程序与第一终端设备建立通话连接。例如,第二终端设备显示来电界面,当第二终端设备接收到用户的接听操作(即第二操作),则与第一终端设备建立通话连接。
25.在第二方面的一些可能的实现方式中,第一终端设备在检测到第一操作后,还用于:响应于第一操作,显示第二界面,第二界面包括以下至少一项:目标号码和第三按钮;其中,第三按钮用于挂断呼叫。此时,第一终端设备在拨打电话的同时,还显示拨号界面(即第二界面)。
26.在第二方面的一些可能的实现方式中,第一终端设备安装有作为voip客户端的第二应用程序,第一终端设备还用于当确定符合目标条件,挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送第三呼叫请求,第三呼叫请求为针对目标号码的voip呼叫请求;
27.第二终端设备还用于接收来自voip服务器的第三呼叫请求。
28.在该实现方式中,在满足目标条件时,第一终端设备可以自动挂断当前的蜂窝呼叫,并自动向目标号码发起voip呼叫,用户体验体验较高。
29.在第二方面的一些可能的实现方式中,第一终端设备在确定符合目标条件之后,还用于:在第二界面上显示第一提示信息,第一提示信息用于提示是否切换至voip通话;检测到第三操作,第三操作用于指示第一终端设备切换至voip通话;响应于第三操作,进入挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送第三呼叫请求的步骤。
30.在该实现方式中,第二界面可以为拨号界面,当第一终端设备确定符合目标条件后,可以在拨号界面上提示用户是否切换voip通话。第一终端设备接收用户的确认操作(即第三操作),则认为用户确认切换至voip通话,则针对目标号码发起voip呼叫。
31.在第二方面的一些可能的实现方式中,第一终端设备在挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送第三呼叫请求之后,还用于:在第二界面显示第二提示信息,第二提示信息用于提示已切换至voip通话。在该实现方式中,在切换到voip通话之后,还可以在拨号界面上提示用户已切换到voip通话,提高用户体验。
32.在第二方面的一些可能的实现方式中,第一终端设备具体用于:确定是否符合第一预设条件;当符合第一预设条件,则获取目标号码关联的相关信息;根据相关信息,确定是否符合第二预设条件;当符合第二预设条件,则确定符合目标条件;当不符合第一预设条件和/或不符合第二预设条件,则确定不符合目标条件。
33.在第二方面的一些可能的实现方式中,第一终端设备具体用于:当接收到网络设备返回的第二消息,确定符合第一预设条件,第二消息用于描述目标号码寻呼失败;或者,当定时器检测到的时间超出预设时间阈值,确定符合第一预设条件,定时器用于检测呼叫
发起到振铃的时间;当未接收到网络设备返回的第二消息和/或定时器检测到的时间未超出预设时间阈值,确定不符合第一预设条件。
34.其中,第二消息可以是指包括网络设备返回的网络错误码等,根据网络错误码,第一终端设备可以得知目标号码寻呼失败。定时器可以是指t-alerting定时器。
35.在第二方面的一些可能的实现方式中,第一终端设备具体用于:通过第二应用程序,向voip服务器发送查询请求,查询请求携带有目标号码;接收来自voip服务器的目标号码关联的相关信息。
36.在第二方面的一些可能的实现方式中,相关信息包括第一信息、第二信息、第三信息和第四信息,第一信息用于描述voip服务器上是否存储有目标号码,第二信息用于描述第一应用程序是否处于在线状态,第三信息用于描述第二终端的运营商网络信号情况,第四信息用于描述目标号码是否开通呼叫转移服务;
37.第一终端设备具体用于:当voip服务器上存储有目标号码,第一应用程序处于在线状态,第二终端的运营商网络信号为无服务状态,且目标号码未开通呼叫转移服务,确定符合第二预设条件。
38.在第二方面的一些可能的实现方式中,在检测到第一操作之后,第一终端设备还用于:显示第三界面,第三界面包括用于提示用户选择通话方式的第三提示信息,以及蜂窝通话选项和voip通话选项;当检测到针对蜂窝通话选项的操作,进入响应于第一操作,向网络设备发送第一呼叫请求的步骤;当检测到针对voip通话选项的操作,通过第二应用程序向voip服务器发送第四呼叫请求,第四呼叫请求用于指示voip服务器向与目标号码关联的第二终端设备发起voip呼叫,第四呼叫请求为针对目标号码的voip呼叫请求。
39.在该实现方式中,第一终端设备可以在用户触发针对目标号码的蜂窝呼叫之前,提示用户选择通话方式。并且,进一步地,第一终端设备还可以先进行起呼判决流程,确定是否可以向目标号码发起蜂窝呼叫。另外,第一终端设备还可以查询目标号码关联的第二终端设备是否支持voip通话等信息,确定是否可以向目标号码发起voip呼叫。最后,根据这些判断结果,给出通话方式选择提示,以提示用户选择通话方式。
40.在第二方面的一些可能的实现方式中,第二终端设备满足以下至少一项:目标号码与第一应用程序的账号绑定,目标号码为第二终端设备的sim卡号码,第二终端设备的sim卡处于无服务状态。
41.第二终端设备与目标号码关联。具体地,目标号码可以是第二终端设备的sim卡号码;或者目标号码可以与第一应用程序的账号绑定,此时,目标号码可以不是第二终端设备的sim卡号码。
42.第二终端设备的sim卡处于无服务状态的原因可能是:无运营商网络信号,运营商网络信号较差,处于飞行模式,双卡单通场景等。
43.第三方面,本技术实施例提供一种通话方法,应用于voip服务器,该方法可以包括:接收来自网络设备的第一消息,第一消息携带有目标号码,第一消息为网络设备在接收到来自第一终端设备的第一呼叫请求后,根据第一呼叫请求,向voip服务器发送的消息,目标号码已开通呼叫转移服务,第一呼叫请求为第一终端设备针对目标号码发起的呼叫请求;根据第一消息,向与目标号码关联的第二终端设备发送第二呼叫请求。
44.在第三方面的一些可能的实现方式中,上述根据第一消息,向与目标号码关联的
第二终端设备发送第二呼叫请求的过程可以包括:解析第一消息,得到目标号码;根据目标号码,查找与目标号码关联的voip通信信息;根据voip通信信息,向第二终端设备发送第二呼叫请求。
45.在第三方面的一些可能的实现方式中,voip通信信息包括以下至少一项:第二终端设备的物理地址,第二终端设备的移动设备识别码,第二终端设备的国际移动设备识别码。
46.在第三方面的一些可能的实现方式中,该方法还包括:接收来自第一终端设备的第一注册请求,第一注册请求包括第一终端设备的号码、第二应用程序的账号和第一终端设备的设备标识信息,第二应用程序为第二终端设备上作为voip客户端的应用程序;
47.将第二应用程序的账号、第一终端设备的设备标识信息与第一终端设备的号码关联;
48.和/或,接收来自第二终端设备的第二注册请求,第二注册请求包括目标号码、第一应用程序的账号和第二终端设备的设备标识信息,第一应用程序为第二终端设备上作为voip客户端的应用程序;将第一应用程序的账号、第二终端设备的设备标识信息与目标号码关联。
49.其中,设备标识信息可以是设备的物理地址、imei和meid等信息。
50.第四方面,本技术实施例提供一种通话方法,应用于第一终端设备,第一终端设备安装有作为voip客户端的第二应用程序,该方法包括:
51.检测到第一操作;响应于第一操作,向网络设备发送第一呼叫请求,第一呼叫请求为针对目标号码发起的呼叫请求;当确定符合目标条件,挂断第一呼叫请求对应的呼叫(例如,可以挂断针对目标号码的蜂窝呼叫),通过第二应用程序向voip服务器发送第三呼叫请求,第三呼叫请求为针对目标号码的voip呼叫请求,第三呼叫请求用于指示voip服务器向与目标号码关联的第二终端设备发起voip呼叫。
52.本技术实施例中,第一终端设备在确定符合目标条件时,例如,被叫寻呼失败时,自动挂断当前的蜂窝呼叫,并在确定出目标号码关联的第二终端设备支持voip通话时,自动针对目标号码发起voip呼叫,使得被叫即使处于飞行模式或者无运营商网络信号等情况下,仍然能接收到第一终端设备的呼叫请求。另外,还根据目标条件来自动切换通话方式,提高了用户体验。
53.在第四方面的一些可能的实现方式中,在检测到第一操作之后,该方法还包括:响应于第一操作,显示第二界面,第二界面包括:目标号码和第三按钮;其中,第三按钮用于挂断呼叫。
54.在第四方面的一些可能的实现方式中,在确定符合目标条件之后,该方法还可以包括:在第二界面上显示第一提示信息,第一提示信息用于提示是否切换至voip通话;检测到第三操作,第三操作用于指示第一终端设备切换至voip通话;响应于第三操作,进入挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送针对目标号码的第三voip呼叫请求的步骤。
55.在第四方面的一些可能的实现方式中,在挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送针对目标号码的第三呼叫请求之后,该方法还包括:在第二界面显示第二提示信息,第二提示信息用于提示已切换至voip通话。
56.在第四方面的一些可能的实现方式中,确定是否符合目标条件的过程可以包括:确定是否符合第一预设条件;当符合第一预设条件,则获取目标号码关联的相关信息;根据相关信息,确定是否符合第二预设条件;当符合第二预设条件,则确定符合目标条件;当不符合第一预设条件和/或不符合第二预设条件,则确定不符合目标条件。
57.在第四方面的一些可能的实现方式中,确定是否符合第一预设条件的过程可以包括:当接收到网络设备返回的第二消息,确定符合第一预设条件,第二消息用于描述目标号码寻呼失败;或者,当定时器检测到的时间超出预设时间阈值,确定符合第一预设条件,定时器用于检测呼叫发起到振铃的时间;当未接收到网络设备返回的第二消息和/或定时器检测到的时间未超出预设时间阈值,确定不符合第一预设条件。
58.在第四方面的一些可能的实现方式中,获取目标号码关联的相关信息的过程可以包括:通过第二应用程序,向voip服务器发送查询请求,查询请求携带有目标号码;接收来自voip服务器的目标号码关联的相关信息。
59.在第四方面的一些可能的实现方式中,该相关信息可以包括第一信息、第二信息、第三信息和第四信息,第一信息用于描述voip服务器上是否存储有目标号码,第二信息用于描述第一应用程序是否处于在线状态,第三信息用于描述第二终端的运营商网络信号情况,第四信息用于描述目标号码是否开通呼叫转移服务;
60.此时,根据相关信息,确定是否符合第二预设条件的过程可以包括:当voip服务器上存储有目标号码,第一应用程序处于在线状态,第二终端的运营商网络信号为无服务状态,且目标号码未开通呼叫转移服务,确定符合第二预设条件;其中,第二终端设备上安装有作为voip客户端的第一应用程序。
61.在第四方面的一些可能的实现方式中,在检测到第一操作之后,该方法还包括:显示第三界面,第三界面包括用于提示用户选择通话方式的第三提示信息,以及蜂窝通话选项和voip通话选项;当检测到针对蜂窝通话选项的操作,进入响应于第一操作,向网络设备发送第一呼叫请求的步骤;当检测到针对voip通话选项的操作,通过第二应用程序向voip服务器发送第四呼叫请求,第四呼叫请求为针对目标号码的voip呼叫请求,第四呼叫请求用于指示voip服务器向与目标号码关联的第二终端设备发起voip呼叫。
62.第五方面,本技术实施例提供一种通话系统,包括第一终端设备、voip服务器和第二终端设备,第二终端设备安装有作为voip客户端的第一应用程序,第一终端设备安装有作为voip客户端的第二应用程序。
63.其中,第一终端设备用于检测到第一操作后,响应于第一操作,向网络设备发送第一呼叫请求,第一呼叫请求为针对目标号码发起的呼叫请求;当确定符合目标条件,则挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送第三呼叫请求,第三呼叫请求为针对目标号码的voip呼叫请求;voip服务器用于接收第三呼叫请求,向与目标号码关联的第二终端设备发送第三呼叫请求;第二终端设备用于通过第一应用程序接收第三呼叫请求。
64.在第五方面的一些可能的实现方式中,第一终端设备还用于:响应于第一操作,显示第二界面,第二界面包括:目标号码和第三按钮;其中,第三按钮用于挂断呼叫。
65.在第五方面的一些可能的实现方式中,第一终端设备还用于:当确定符合目标条件,在第二界面显示第一提示信息,第一提示信息用于提示是否切换至voip通话;检测到第
三操作,第三操作用于指示第一终端设备切换至voip通话;响应于第三操作,进入挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送针对目标号码的第三voip呼叫请求的步骤。
66.在第五方面的一些可能的实现方式中,第一终端设备还用于:在第二界面显示第二提示信息,第二提示信息用于提示已切换至voip通话。
67.在第五方面的一些可能的实现方式中,第一终端设备具体用于:确定是否符合第一预设条件;当符合第一预设条件,则获取目标号码关联的相关信息;根据相关信息,确定是否符合第二预设条件;当符合第二预设条件,则确定符合目标条件;当不符合第一预设条件和/或不符合第二预设条件,则确定不符合目标条件。
68.在第五方面的一些可能的实现方式中,第一终端设备具体用于:当接收到网络设备返回的第二消息,确定符合第一预设条件,第二消息用于描述目标号码寻呼失败;或者,当定时器检测到的时间超出预设时间阈值,确定符合第一预设条件,定时器用于检测呼叫发起到振铃的时间;当未接收到网络设备返回的第二消息和/或定时器检测到的时间未超出预设时间阈值,确定不符合第一预设条件。
69.在第五方面的一些可能的实现方式中,第一终端设备具体用于:通过第二应用程序,向voip服务器发送查询请求,查询请求携带有目标号码;通过第二应用程序,接收来自voip服务器的目标号码对应的相关信息。
70.在第五方面的一些可能的实现方式中,该相关信息包括第一信息、第二信息、第三信息和第四信息,第一信息用于描述voip服务器上是否存储有目标号码,第二信息用于描述第一应用程序是否处于在线状态,第三信息用于描述第二终端的运营商网络信号情况,第四信息用于描述目标号码是否开通呼叫转移服务。
71.此时,第一终端设备具体用于:当voip服务器上存储有目标号码,第一应用程序处于在线状态,第二终端的运营商网络信号为无服务状态,且目标号码未开通呼叫转移服务,确定符合第二预设条件。
72.在第五方面的一些可能的实现方式中,第二终端设备还用于:通过第一应用程序,响应于第三呼叫请求,显示第一界面,第一界面包括以下至少一项:第一终端设备的号码、第一按钮和第二按钮;其中,第一按钮用于接听呼叫,第二按钮用于拒接呼叫。
73.在第五方面的一些可能的实现方式中,第二终端设备还用于:检测到针对第一按钮的第二操作;响应于第二操作,通过第一应用程序与第一终端设备建立voip通话连接。
74.在第五方面的一些可能的实现方式中,voip服务器还用于:接收来自第一终端设备的第一注册请求,第一注册请求包括第一终端设备的号码、第二应用程序的账号和第一终端设备的设备标识信息;将第二应用程序的账号、第一终端设备的设备标识信息与第一终端设备的号码关联;接收来自第二终端设备的第二注册请求,第二注册请求包括目标号码、第一应用程序的账号和第二终端设备的设备标识信息;将第一应用程序的账号、第二终端设备的设备标识信息与目标号码关联。
75.在第五方面的一些可能的实现方式中,第一终端设备还用于:显示第三界面,第三界面包括用于提示用户选择通话方式的第三提示信息,以及蜂窝通话选项和voip通话选项;当检测到针对蜂窝通话选项的操作,进入响应于第一操作,向网络设备发送第一呼叫请求的步骤;当检测到针对voip通话选项的操作,通过第二应用程序向voip服务器发送第四
呼叫请求,第四呼叫请求为针对目标号码的voip呼叫请求,第四呼叫请求用于指示voip服务器向与目标号码关联的第二终端设备发起voip呼叫。
76.第六方面,本技术实施例提供一种通话装置,应用于voip服务器,该装置可以包括:
77.接收模块,用于接收来自网络设备的第一消息,第一消息携带有目标号码,第一消息为网络设备在接收到来自第一终端设备的第一呼叫请求后,根据第一呼叫请求,向voip服务器发送的消息,目标号码已开通呼叫转移服务,第一呼叫请求为第一终端设备针对目标号码发起的呼叫请求;
78.voip呼叫模块,用于根据第一消息,向与目标号码关联的第二终端设备发送第二呼叫请求。
79.在第六方面的一些可能的实现方式中,上述voip呼叫模块具体用于:解析第一消息,得到目标号码;根据目标号码,查找与目标号码关联的voip通信信息;根据voip通信信息,向第二终端设备发送第二呼叫请求。
80.在第六方面的一些可能的实现方式中,voip通信信息包括以下至少一项:第二终端设备的物理地址,第二终端设备的移动设备识别码,第二终端设备的国际移动设备识别码。
81.在第六方面的一些可能的实现方式中,该装置还包括:注册模块,用于:接收来自第一终端设备的第一注册请求,第一注册请求包括第一终端设备的号码、第二应用程序的账号和第一终端设备的设备标识信息,第二应用程序为第二终端设备上作为voip客户端的应用程序;
82.将第二应用程序的账号、第一终端设备的设备标识信息与第一终端设备的号码关联;
83.和/或,接收来自第二终端设备的第二注册请求,第二注册请求包括目标号码、第一应用程序的账号和第二终端设备的设备标识信息,第一应用程序为第二终端设备上作为voip客户端的应用程序;将第一应用程序的账号、第二终端设备的设备标识信息与目标号码关联。
84.其中,设备标识信息可以是设备的物理地址、imei和meid等信息。
85.上述通话装置具有实现上述第三方面的通话方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。
86.第七方面,本技术实施例提供一种通话装置,应用于第一终端设备,第一终端设备安装有作为voip客户端的第二应用程序,该装置包括:
87.第一检测模块,用于检测到第一操作;
88.第一发送模块,用于响应于第一操作,向网络设备发送第一呼叫请求,第一呼叫请求为针对目标号码发起的呼叫请求;
89.切换模块,用于当确定符合目标条件,挂断第一呼叫请求对应的呼叫(例如,可以挂断针对目标号码的蜂窝呼叫),通过第二应用程序向voip服务器发送第三呼叫请求,第三呼叫请求为针对目标号码的voip呼叫请求,第三呼叫请求用于指示voip服务器向与目标号码关联的第二终端设备发起voip呼叫。
90.在第七方面的一些可能的实现方式中,该装置还包括:第一显示模块,用于响应于第一操作,显示第二界面,第二界面包括:目标号码和第三按钮;其中,第三按钮用于挂断呼叫。
91.在第七方面的一些可能的实现方式中,该装置还可以包括:
92.第一提示模块,用于在第二界面上显示第一提示信息,第一提示信息用于提示是否切换至voip通话;
93.第二检测模块,用于检测到第三操作,第三操作用于指示第一终端设备切换至voip通话;响应于第三操作,进入挂断第一呼叫请求对应的呼叫,通过第二应用程序向voip服务器发送针对目标号码的第三voip呼叫请求的步骤。
94.在第七方面的一些可能的实现方式中,该装置还包括:第二提示模块,用于在第二界面显示第二提示信息,第二提示信息用于提示已切换至voip通话。
95.在第七方面的一些可能的实现方式中,切换模块具体用于:确定是否符合第一预设条件;当符合第一预设条件,则获取目标号码关联的相关信息;根据相关信息,确定是否符合第二预设条件;当符合第二预设条件,则确定符合目标条件;当不符合第一预设条件和/或不符合第二预设条件,则确定不符合目标条件。
96.在第七方面的一些可能的实现方式中,切换模块具体用于:当接收到网络设备返回的第二消息,确定符合第一预设条件,第二消息用于描述目标号码寻呼失败;或者,当定时器检测到的时间超出预设时间阈值,确定符合第一预设条件,定时器用于检测呼叫发起到振铃的时间;当未接收到网络设备返回的第二消息和/或定时器检测到的时间未超出预设时间阈值,确定不符合第一预设条件。
97.在第七方面的一些可能的实现方式中,切换模块具体用于:通过第二应用程序,向voip服务器发送查询请求,查询请求携带有目标号码;接收来自voip服务器的目标号码关联的相关信息。
98.在第七方面的一些可能的实现方式中,该相关信息可以包括第一信息、第二信息、第三信息和第四信息,第一信息用于描述voip服务器上是否存储有目标号码,第二信息用于描述第一应用程序是否处于在线状态,第三信息用于描述第二终端的运营商网络信号情况,第四信息用于描述目标号码是否开通呼叫转移服务;
99.此时,切换模块具体用于:当voip服务器上存储有目标号码,第一应用程序处于在线状态,第二终端的运营商网络信号为无服务状态,且目标号码未开通呼叫转移服务,确定符合第二预设条件;其中,第二终端设备上安装有作为voip客户端的第一应用程序。
100.在第七方面的一些可能的实现方式中,该装置还包括:第二显示模块,用于显示第三界面,第三界面包括用于提示用户选择通话方式的第三提示信息,以及蜂窝通话选项和voip通话选项;当检测到针对蜂窝通话选项的操作,进入响应于第一操作,向网络设备发送第一呼叫请求的步骤;当检测到针对voip通话选项的操作,通过第二应用程序向voip服务器发送第四呼叫请求,第四呼叫请求为针对目标号码的voip呼叫请求,第四呼叫请求用于指示voip服务器向与目标号码关联的第二终端设备发起voip呼叫。
101.上述通话装置具有实现上述第四方面的通话方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。
102.第八方面,本技术实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第三方面中任一项的方法。
103.第九方面,本技术实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第四方面中任一项的方法。
104.第十方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第三方面或者第四方面中任一项的方法。
105.第十一方面,本技术实施例提供一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第三方面或者第四方面中任一项的方法。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
106.第十二方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第三方面或者第四方面中任一项所述的方法。
107.可以理解的是,上述第二方面至第十二方面的有益效果可以参见上述第一方面中的相关描述,且各个方面的有益效果可以相互参见,在此不再赘述。
附图说明
108.图1为现有通话网络架构示意框图;
109.图2为本技术实施例提供的通话网络架构示意图;
110.图3为本技术实施例提供的通话场景示意图;
111.图4中的(a)为本技术实施例提供的呼叫转移设置界面示意图;
112.图4中的(b)为本技术实施例提供的畅连通话号码设置示意图;
113.图5为本技术实施例提供的另一种通话网络架构示意图;
114.图6为本技术实施例提供的通话方法的一种交互示意图;
115.图7为本技术实施例提供的通话方法的另一种交互示意图;
116.图8中的(a)为本技术实施例提供的又一种通话场景示意图;
117.图8中的(b)~(d)为本技术实施例提供的通话界面示意图;
118.图9为本技术实施例提供的又一种通话网络架构示意图;
119.图10为本技术实施例提供的通话方法的又一种交互示意图;
120.图11为本技术实施例提供的又一种通话场景示意图;
121.图12为本技术实施例提供的通话方法的又一交互示意图;
122.图13为本技术实施例提供的电子设备1300的结构示意图;
123.图14为本技术实施例提供的电子设备1300的软件结构示意图。
具体实施方式
124.在介绍本技术实施例之前,首先对现有的通话网络架构进行说明。如图1所示,现有的通话网络架构包括主叫终端11、主叫侧网络13、被叫侧网络14和被叫终端12。
125.其中,上述主叫侧网络13是指主叫终端一侧的运营商网络或者主叫终端当前所在
区域的运营商网络;上述被叫侧网络14是指被叫终端一侧的运营商网络或者被叫终端当前所在区域的运营商网络。
126.通常情况下,主叫终端11发起的呼叫请求会先传递至主叫侧网络13,再由主叫侧网络13传递至被叫侧网络14,最后由被叫侧网络14将呼叫请求传递至被叫终端12。
127.但是,如果被叫终端12所在区域的运营商网络信号不好(例如,低于预定的信号强度),或者完全没有运营商网络信号,亦或者是被叫终端12由于双卡单通场景导致被叫终端无可用的射频资源等原因,被叫侧网络14无法将呼叫请求送达至被叫终端12,导致呼叫失败。
128.针对上述问题,存在几种可能的解决方案:
129.1、小秘书服务
130.该服务在被叫终端接收不到主叫终端的呼叫请求时,可以通过短信的方式提醒被叫终端的用户有电话呼入。
131.然而,这种方式并不能实现主叫终端和被叫终端的互通。而且,被叫终端仍然需要等到有运营商网络信号时才能收到短信提醒。
132.2、vowifi(voice over wi-fi)
133.vowifi是指通话终端通过wi-fi接入到运营商网络的epdg(evolved packet data gateway)网元,以接入到运营商网络。epdg网元是非可信wi-fi网络接入方式下的必备网元。
134.这种情况下,被叫终端通过vowi-fi接入到运营商网络,这样,在运营商网络信号不好,被叫终端仍然可以通过vowi-fi收到主叫终端的呼叫请求。但是,目前很多地方都没有部署vowi-fi。
135.3、基于ott(over the top)的通话
136.ott业务包括即时消息和基于ip的语音传输(voice over internet protocl,voip)业务。
137.这种情况下,基于第三方即时通讯工具,主叫终端可以通过互联网主动向被叫终端发起ott通话,这样主叫终端和被叫终端之间也能实现互通。但是,主叫终端和被叫终端必须同时登陆ott软件,并且需要互加好友,对于没有互加好友的无法发起ott呼叫。作为示例而非限定,第三方即时通讯工具为微信时,当用户a无法打通用户b的蜂窝电话,用户a可以手动向用户b发起微信电话或微信视频。
138.可以看出,上述方案都存在一些问题,例如,没有实现主叫和被叫之间的互通、在寻呼失败时需要用户手动发起ott通话等。
139.针对上述方案存在的一些问题,本技术实施例提供了几种通话解决方案,可以在被叫终端一侧的运营商网络信号不好,或者被叫终端一侧完全没有运营商网络信号,亦或者是被叫终端由于双卡单通场景导致被叫号码无可用的射频资源,或者,被叫终端处于飞行模式等情况下,仍然能够将主叫终端的呼叫请求传递到被叫终端,实现主叫终端和被叫终端间的通话连接。下面对本技术实施例提供的几种通话解决方案进行详细说明。
140.第一种通话解决方案
141.请参见图2,图2示出了本技术实施例提供的一种通话解决方案(下称“第一种通话解决方案”)的通话网络架构图。该通话网络架构可以包括主叫终端21、被叫终端22、主叫侧
网络23(即主叫终端一侧的运营商网络)、被叫侧网络24(即被叫终端一侧的运营商网络)、voip网关25和voip服务器26。
142.通常情况下,主叫终端21发起的呼叫请求会依次通过主叫侧网络23、被叫侧网络24传递至被叫终端22,被叫终端22在接收到该呼叫请求之后,可以与该主叫终端建立通话连接。
143.在某些特殊场景下,例如,被叫侧网络24信号较差或者无信号,或者被叫终端22处于双卡单通的场景时,或者其它场景,例如,被叫终端处于飞行模式,或者被叫终端没有安装sim卡等,被叫侧网络24无法将主叫终端21的呼叫请求传递至被叫终端22。本技术实施例为解决该技术问题,通过被叫侧网络24将呼叫请求前转至voip网关25,再由voip网关25和voip服务器26将呼叫请求传递至被叫终端22,以便于被叫终端22即使在被叫侧网络24信号较差或者无信号时,仍然能接收到主叫终端21的呼叫请求。
144.具体地,在被叫侧网络24寻呼失败时,可以根据预先约定的前转号码,生成前转消息,并将前转消息路由至voip网关25。voip网关25解析该前转消息获得被叫号码后,将该被叫号码发送至voip服务器26。voip服务器26根据被叫号码查找到被叫终端22之后,向被叫终端22发起voip呼叫。
145.可以看出,本技术实施例提供的通话网络架构(图2)与现有的通话网络架构(图1)相比,增加了voip网关25和voip服务器26。其中,voip网关25与被叫侧网络24连接,voip服务器26分别与voip网关25和被叫终端22连接。
146.需要说明的是,现有的通话网络架构中,运营商网络和voip网络之间是相互独立的,即两者并没有通信链路连接。因此,当被叫侧网络寻呼失败时,是无法将呼叫请求发送至voip服务器的,这样,就无法通过voip服务器将呼叫请求中继至被叫终端。
147.而本技术实施例通过部署voip网关和voip服务器,并将voip网关与被叫侧网络连接,voip服务器与voip网关和被叫终端连接,以将运营商网络连接至voip网络,使得运营商网络和voip网络不再相互独立。基于此,在被叫侧网络寻呼失败时,被叫侧网络可以将呼叫请求通过呼叫转移业务前转至voip网关,voip网关再将被叫号码发送至voip服务器,voip服务器再向被叫终端发起voip呼叫,从而实现在寻呼失败时将呼叫请求中继至被叫终端。
148.需要说明的是,在本技术实施例提供的通话网络架构下,被叫终端可以预先开启不可及呼叫转移业务。这样,被叫侧网络在寻呼失败时,可以将呼叫请求前转至voip网关。另外,被叫终端还可以预先在voip服务器上进行注册,这样,当voip服务器接收到voip网关发送的被叫号码时,voip服务器可以根据被叫号码查找到对应的被叫终端,并向对应的被叫终端发起voip呼叫。
149.还需要说明的是,图1中的voip网关和voip服务器可以分别外现为两个服务器,也可以集成在一个服务器上,即可以将voip网关和voip服务器集成到一个服务器上,由一个服务器去实现voip网关和voip服务器的功能。
150.相较而言,单独设置voip网关,voip网关和voip服务器不集成在一个服务器上,可以使得适配、维护变更等工作更加灵活。从上文可以看出,在第一种通话解决方案中,本技术实施例通过搭建被叫侧的voip网关和voip服务器,并将被叫侧网络与voip网关连接,使得被叫侧网络在寻呼失败时,可以将呼叫请求前转至voip网关,由voip网关和voip服务器将呼叫请求中继至被叫终端,实现被叫终端和主叫终端的互通。
151.在该通话解决方案中,对于主叫终端来说是无感的,即主叫终端一侧的呼叫流程和正常情况下的呼叫流程是一样的,主叫用户可能不会感知到被叫终端呼叫不可达的情况,也不用手动挂断蜂窝呼叫并手动发起另一种通话。另外,主叫终端和被叫终端也不用互相加好友,只需要知道被叫号码即可。正常情况是指被叫终端一侧的运营商网络较好,能接收到运营商网络传递的呼叫请求。
152.而对于被叫终端来说,在被叫侧网络信号不好或者无运营商网络信号时,仍然能收到呼叫请求,与主叫终端建立通话连接,实现互通。
153.基于上述第一种通话解决方案,下面结合图3对该通话解决方案下的通话场景进行示例性说明。
154.如图3中的(a)所示,该场景包括主叫终端31、被叫终端32、主叫侧网络33、被叫侧网络34和云端35,云端35包括互通网关351和转呼服务352。在该场景下,互通网关351可以相当于图2中的voip网关,而转呼服务352可以作为一种硬件装置和/或软件模块集成在voip服务器上。
155.主叫终端31和被叫终端32均有两个用户识别(subscriber identity module,sim)卡,且这两个sim卡均支持长期演进语音承载(voice over long-term evolution,volte)高清通话。其中,主叫终端31的sim卡1的号码为654321,而被叫终端的sim卡1的号码为123456。主叫终端31的sim卡1和sim卡2的信号满格,即主叫终端21一侧的运营商网络信号较好。而被叫终端32的sim卡1和sim卡2均处于无服务状态,即被叫终端一侧的运营商网络信号较差。但是被叫终端一侧的wi-fi信号较好,且被叫终端31已经连接上了wi-fi网络。被叫终端32的运营商网络信号情况具体如图3中的(a)321所示,wi-fi网络信号具体如图3中的(a)的322所示。
156.图3中(a)的主叫终端31显示的是拨号界面,而被叫终端32显示的是等待接听界面。由图3可知,被叫终端32在无运营商网络信号,已连接上wi-fi网络的情况下,即使被叫侧网络34寻呼失败,被叫终端32仍然能收到主叫终端31发起的呼叫。
157.换句话说,图3中的(a),被叫终端32中的sim卡信号显示区域321表明了sim卡1和sim卡2均无运营商网络信号,即图3示出了被叫侧网络覆盖不佳的场景下,被叫侧网络34根据主叫终端31的呼叫请求和前转号码生成前转消息,并将该前转消息路由至互通网关351,再由互通网关351和转呼服务352根据该前转消息将主叫终端的呼叫请求送达至被叫终端32。
158.需要指出的是,主叫侧网络33和被叫侧网络34均为运营商网络。主叫侧网络33可以是ip多媒体子系统(ip multimedia subsystem,ims)网络,可以是公共交换电话网络(public switched telephone network,pstn),也可以是电路交换(circuit switched,cs)网络。当然,主叫侧网络33也可以包括ims网络、pstn和cs网络。
159.相对应地,主叫终端31可以是手机,此时,主叫终端31可以通过ims网络与被叫终端进行通话,或者通过cs网络与被叫终端进行通话;也可以是固话,此时,主叫终端31可以通过pstn与被叫终端进行通话。图3中仅示例性示出了主叫终端31为手机。当然,除了手机之外,主叫终端31还可以为支持运营商通话的其它类型的移动终端,例如,可打电话的可穿戴式设备和平板电脑等。
160.而被叫侧网络34一般是ims网络,被叫终端32一般为手机或者除手机之外的其它
具有通话功能的终端设备。被叫终端32可以通过wi-fi与voip服务器通信连接。除此之外,在双卡场景,且一张卡有信号,另一张卡无信号的情况下,被叫终端也可以通过有信号的一张sim卡与voip服务器通信连接。这种情况下,两张sim卡不同属于一个运营商。例如,被叫终端32的sim卡1和sim卡2的运营商分别为中国移动和中国联通,在某种情况下,sim卡1有信号,sim卡2无信号。由于sim卡2的运营商网络信号问题,针对sim卡2的呼叫请求无法送达至被叫终端32。此时,被叫终端32可以通过sim卡1的蜂窝数据与voip服务器通信连接,即被叫终端32可以通过sim卡1的蜂窝数据接收voip服务器发起的voip呼叫。这样,即使sim卡2无信号,仍然可以通过sim卡1的蜂窝数据,接收到呼叫请求。
161.需要指出的是,在双卡单通的场景下,基于图2的网络架构,被叫终端32仍然能接收到主叫终端的呼叫请求。例如,被叫终端32的sim卡2正在通话,导致sim卡1无可用射频资源导致无运营商网络信号。此时,主叫终端31向被叫终端的sim卡1发起呼叫时,基于图2的网络架构,被叫终端32可以通过wi-fi网络接收到voip服务器发起的voip呼叫。在这种情况下,sim卡1和sim卡2可以是同一个运营商,也可以不是同一个运营商。
162.值得指出的是,被叫终端可以是双卡,也可以是单卡。当被叫终端只有一个sim卡时,被叫终端可以通过wi-fi网络等通信方式与voip服务器通信连接。
163.另外,其它一些实施例中,被叫终端32可以处于飞行模式下,或者被叫终端没安装有sim卡。此时,被叫终端32仍然可以接收到主叫终端31的呼叫。参见图3中的(b),示出了被叫终端32处于飞行模式下,接收主叫终端31的来电接听界面示意图,此时,被终端32的状态栏显示有飞行模式图标323以及wi-fi图标324,表明被叫终端32当前处于飞行模式下,且连接有wi-fi。这种情况下,被叫侧网络34在发现寻呼失败时,可以将呼叫请求前转给互通网关351,通过互通网关351和转换服务352等,将主叫终端31的呼叫请求中继或者传递至被叫终端32,使得被叫终端32处于飞行模式下仍然可以接收到主叫终端31的来电。
164.举例来说,被叫终端32的用户在飞机上,由于飞行条件限制,需要把被叫终端32调整至飞行模式。但是,该用户需要等一个很重要的电话。此时,为了避免漏接电话,该用户可以依据图4所示的过程,设置用户不可及前转至畅连通话。并且,操作被叫终端32接入飞机的wi-fi网络。这样,该用户则可以在飞行过程中,接收到主叫终端32发起的呼叫,不漏接电话。
165.还有,在又一些实施例中,被叫终端32也可以是没有安装sim卡的手机,此时,被叫终端32只需安装有voip客户端(例如,畅连通话),并且将voip客户端与某个手机号码绑定,且开启不可及前转至voip客户端。这样,即使被叫终端32没有安装sim卡,也能接收到针对所绑定的手机号码的呼叫。
166.voip服务器可以是指被叫终端32上实现voip通话的应用程序的服务端。voip服务器本地存储有:被叫号码,被叫号码对应的被叫终端的设备信息,以及被叫号码对应的应用程序账号信息等信息。一般情况下,voip服务器上存储的被叫号码、设备信息等信息是加密存储或者哈希存储的。基于此,voip服务器在接收到voip网关发送的被叫号码之后,可以查找到被叫号码对应的被叫终端设备,并向该被叫终端设备发起voip呼叫。
167.需要说明的是,被叫用户需要预先开启不可及前转业务,这样,被叫侧网络在寻呼失败时,会自动将主叫终端的呼叫请求前转至voip网关。
168.具体来说,预先将voip网关连接至被叫侧网络,并开通用户不可及呼叫转移至特
定号码。当寻呼失败时,被叫侧网络可以生成该特定号码的前转消息(例如,invite消息),该前转消息携带有被叫号码。然后,被叫侧网络将前转消息路由至voip网关,以实现将主叫终端的呼叫请求前转至voip网关。另外,被叫号码或被叫终端还可以预先在voip服务器上注册,以将被叫号码和voip客户端的应用账号、被叫终端设备信息等存储至voip服务器。这样,voip服务器即可根据被叫号码查找到对应的被叫终端。
169.作为示例而非限定,参见图4中的(a)示出呼叫转移设置界面示意图,如图4中的(a)所示,被叫终端以手机41为例,用户可以点击手机41设置界面上卡1对应的“呼叫转移”,进入到呼叫转移设置界面,并点击“用户不可及呼叫转移”。然后,手机41弹出交互窗口,用户可以在该窗口的对应位置输入“畅连通话”,再点击“开启”,即可开启不可及前转至畅连通话。畅连通话是手机41上的应用程序,其可以作为voip客户端,该应用程序的服务器作为voip服务器。可以理解的是,除了可以在通话设置里面设置不可及前转至voip客户端之外,voip客户端也可以提供对应的设置界面,即可以在voip客户端设置不可及前转至voip客户端。
170.当然,voip客户端的外现形式可以是任意的,例如,该voip客户端外现为一个应用程序,也可以外现为网页客户端(即web客户端)。
171.需要说明的是,在被叫终端一侧,被叫终端的用户可以不用知道具体前转至哪个号码,只需要在被叫终端上设置不可及前转至voip客户端。当然,也可以告知用户不可及呼叫转移的目标号码,这样,用户在开通用户不可及呼叫转移业务时,可以直接输入不可及呼叫转移对应的目标号码。
172.具体应用中,用户将sim卡1设置为用户不可及呼叫转移至voip客户端之后,被叫终端可以按照预先设定的前转号码(或称不可及呼叫转移业务对应的目标号码),告知运营商具体前转至哪个号码。这样,被叫侧网络在呼叫失败时,会自动按照被叫终端开启的不可及呼叫转移业务(或称不可及前转业务),通过预先约定的前转号码将主叫终端的呼叫请求前转至voip网关。
173.实际应用中,具体前转至哪个号码可以根据需要进行设定。作为示例而非限定,预先搭建一条专用线路,用于连接voip网关和被叫侧网络。并预先设置用户不可及呼叫转移至6061xxx,即被叫终端的sim卡开启不可及前转至voip客户端时,默认开通的不可及呼叫转移业务为:不可及呼叫转移至6061xxx。这样,被叫侧网络在被叫不可及时,会生成目标号码为6061xxx的前转消息,该前转消息携带有被叫号码。所有目标号码为6061xxx的前转消息均通过预先搭建的专用线路从被叫侧网络传输至voip网关,以实现被叫不可及时前转至voip网关。
174.具体应用中,被叫终端可以将被叫终端的手机号码和voip客户端进行绑定,以将被叫终端注册到voip服务器。
175.作为示例而非限定,图3中的被叫终端32的voip客户端为畅连通话,此时,用户可以将畅连通话的绑定手机号码设置为123456。这样,畅连通话的服务器上则存储有被叫终端的手机号码。除了绑定手机号码之外,还可以将被叫终端的设备信息与畅连通话的应用账号进行绑定。该被叫终端的设备信息可以包括设备唯一标识信息。这样,如果用户同时在多个设备上登录畅连通话时,voip服务器可以同时向多个设备发起voip呼叫。
176.被叫终端开通不可及前转业务和注册到voip服务器之后,主叫终端31可以向被叫
终端32发起呼叫。在寻呼失败时,被叫侧网络34按照预先约定的前转号码,将呼叫请求转移至对应的前转号码,以将主叫终端的呼叫请求传输至云端的互通网关351,互通网关351再将呼叫请求携带的被叫号码发送至转呼服务352。转呼服务352可以查找到被叫号码对应的被叫终端32,并对所查找到的被叫终端32发起voip呼叫。
177.其中,用户不可及或者寻呼失败包括但不限于以下几种可能:被叫终端没有运营商网络信号,被叫侧网络信号较弱,被叫终端双卡中的一张卡正在通话中。
178.举例来说,参见图4中的(b),手机42上安装了畅连通话应用程序,作为voip客户端。在畅连通话应用程序的号码设置界面中,用户勾选与畅连通话绑定的手机号码为 86188******88,这样,他人可以通过呼叫 86188******88,向手机42的畅连通话发起呼叫,另外,当手机42通过畅连通话给别人打电话时,来电界面上显示的也是 86188******88。用户勾选了 86188******88之后,手机42的账号与畅连手机号界面中,所显示的畅连手机号则为 86188******88。用户操作手机42,将畅连通话与手机号码绑定之后,手机42可以将信息上传至畅连通话的服务器43,该服务器43作为voip服务器。服务器43接收到手机42上传的信息之后,可以将该信息进行存储,并将畅连通话应用程序的账号、畅连手机号码等信息进行关联存储。具体地,服务器43上存储有431所示的信息,该信息可以包括但不限于账号、畅连手机号、设备id、设备名称、imei、meid等信息,这些信息是关联存储的,即通过其中任意一个信息可以查找到其它信息。设备id、设备名称、imei和meid等均为手机42的设备信息,这些设备信息可以作为手机42的唯一标识信息。
179.具体应用中,设备id、设备名称、imei和meid等设备唯一标识信息可以作为voip通信信息,即通过手机号码找到设备唯一标识信息,再向设备唯一标识信息对应的设备发起voip呼叫。当然,还可以给手机42设置一个唯一的voip通信号码或者通信id,将该voip通信号码或通信id,与431中的信息进行关联存储。这样,后续可以通过手机号码等信息查找到voip通信号码或者通信id等信息。
180.服务器43上存储有手机42的相关信息,便于后续服务器43查找到手机42,然后向手机42发起voip呼叫。
181.由上可见,在本技术实施例中,被叫侧网络寻呼失败时,被叫侧网络可以先确定被叫号码是否开通不可及呼叫转移服务。如果被叫号码开通了不可及呼叫转移服务,被叫侧网络可以生成前转消息,该前转消息携带有被叫号码,并将前转消息路由至voip网关。voip网关对所接收到的前转消息进行解析,获得被叫号码,并将被叫号码发送至voip服务器。当然,在其它一些实施例中,被叫侧网络在接收到主叫侧网络发送的呼叫请求之后,可以先确定被叫号码开通了哪些业务,例如,是否开通无条件前转业务、是否开通不可及前转业务等。然后,被叫侧网络可以根据呼叫请求进行寻呼。
182.voip服务器上存储有被叫号码和voip号码之间的对应关系,通过该对应关系,可以查找到被叫号码对应的voip号码。然后,voip服务器根据查找到的voip号码,通过voip服务器和被叫终端之间的通信链路(例如,wi-fi、蜂窝数据),向被叫终端发起voip呼叫。这样,即使被叫侧网络信号不好,或者完全没有运营商网络信号,被叫终端仍然能收到主叫终端的呼叫请求,并能与主叫终端建立通话连接,实现主叫和被叫的互通。
183.例如,基于图4中的(b),主叫终端针对手机号 86188******88发起蜂窝呼叫,蜂窝呼叫会先传递至被叫侧网络,被叫侧网络对 86188******88进行寻呼,寻呼失败时,被叫侧
网络则生成携带有 86188******88的消息,将该消息发送给voip网关,voip网关再解析该消息,得到手机号码 86188******88。voip网关将手机号码 86188******88发送给服务器43,服务器43收到手机号码 86188******88之后,先查找本地是否存储有手机号码 86188******88,找到手机号码 86188******88之后,服务器43可以查找到 86188******88关联的账号、设备id、imei和voip号码等信息,向手机42发起voip呼叫。
184.需要说明的是,上述图2和图3不仅可以应用于用户不可及呼叫转移场景,即被叫侧网络在寻呼失败时,将主叫终端的呼叫请求前转至voip网关,通过voip网关和voip服务器将主叫终端的呼叫请求桥接或中继至被叫终端;还可以应用于无条件呼叫转移场景、遇忙呼叫转移场景和无应答呼叫转移场景。
185.下面对上述几种具体场景分别进行下说明:
186.1、无条件呼叫转移场景
187.具体应用中,被叫侧网络在确定出该被叫号码开通了无条件呼叫转移业务之后,会获取到无条件呼叫转移的目标号码;然后,被叫侧网络根据该目标号码生成前转消息,将该前转消息路由至voip网关,该前转消息携带有被叫号码;最后,voip网关解析该前转消息,获得被叫号码后,将被叫号码发送至voip服务器,由voip服务器根据被叫号码发起voip呼叫。
188.作为示例而非限定,为了减少国际漫游费用,用户可以开启无条件呼叫转移至畅连通话。这样,向该被叫终端发起的呼叫请求均被被叫侧网络前转voip网关,voip网关再将解析得到的被叫号码发送至畅连通话的服务器。畅连通话的服务器查找到该被叫号码对应的被叫终端后,向该被叫终端发起voip呼叫,实现无条件呼叫转移业务。
189.需要说明的是,无条件呼叫转移业务的开通过程和上文的不可及呼叫转移业务的开通过程类似,具体可以参见上文相应内容,在此不再赘述。
190.还需要说明的是,用户可以设置无条件呼叫转移至被叫终端的voip客户端,也可以设置无条件呼叫转移至另一个终端设备的voip客户端。例如,voip客户端为畅连通话,被叫终端为手机。此时,用户的手机和平板电脑上均安装有畅连通话。用户可以设置将手机的来电无条件呼叫转移至平板电脑上的畅连通话上。
191.2、遇忙呼叫转移场景
192.遇忙呼叫转移的情况可以包括但不限于:被叫振铃时用户手动挂断,被叫号码正在通话中,以及被叫终端处于国际漫游的情况。
193.在该场景下,被叫侧网络在确定被叫终端满足遇忙前转条件时(例如,被叫终端的用户手动挂断主叫终端的呼叫请求),被叫侧网络可以根据遇忙呼叫转移的目标号码,生成前转消息后,将携带有被叫号码的前转消息路由至voip网关。voip网关解析前转消息获得被叫号码之后,将被叫号码发送至voip服务器。voip服务器根据被叫号码向voip客户端发起voip呼叫,实现遇忙呼叫转移业务。
194.需要说明的是,遇忙呼叫转移业务的开通过程和上文的不可及呼叫转移业务的开通过程类似,具体可以参见上文相应内容,在此不再赘述。还需要说明的是,用户可以设置遇忙呼叫转移至被叫终端的voip客户端,也可以设置遇忙呼叫转移至另一个终端设备的voip客户端。
195.3、无应答呼叫转移场景
196.无应答呼叫转移可以是指在被叫终端无应答时将呼叫请求转移至特定号码。在本技术实施例中,可以设置无应答时呼叫转移至voip客户端。
197.用户设置无应答呼叫转移至voip客户端之后,被叫侧网络在确定被叫终端无应答时,可以根据无应答呼叫转移的目标号码,生成前转消息后,将携带有被叫号码的前转消息路由至voip网关。voip网关解析前转消息获得被叫号码之后,将被叫号码发送至voip服务器。voip服务器根据被叫号码向voip客户端发起voip呼叫,实现无应答呼叫转移。
198.需要说明的是,无应答转移业务的开通过程和上文的不可及呼叫转移业务的开通过程类似,具体可以参见上文相应内容,在此不再赘述。
199.还需要说明的是,用户可以设置无应答呼叫转移至被叫终端的voip客户端,也可以设置无应答呼叫转移至另一个终端设备的voip客户端。
200.总之,本技术实施例的被叫侧网络在满足前转条件时,可以将主叫终端的呼叫请求前转至voip网关。而前转条件可以是用户不可及,即寻呼失败;也可以是遇忙、无条件和无应答。
201.其中,无条件呼叫转移:一经设置,所有呼叫你的电话均转移到你预先指定的电话上,你的手机不再振铃,只能从预先指定的电话上接听。
202.遇忙呼叫转移:一经设置,当你在使用的手机通话时,如果其他人对你进行呼叫,来电将会自动转移烈你预先指定的电话或手机上。
203.无应答呼叫转移:一经设置,存你的手机振铃而无人接听的时候,所有呼叫你的电话均转移到你预先指定号码的电话或手机上。
204.不可及呼叫转移:一经设置,在你的手机关机或无信号等情况时,所有呼叫你的电话均转往你预先指定号码的电话或手机上。
205.还需要指出的是,本技术实施例的应用场景可以适用于语音通话场景和/或视频通话场景。上文和下文主要以语音通话场景为例进行介绍,视频通话场景可参考语音通话场景的对应描述,在此不再赘述。
206.为了更好地介绍上述第一种通话解决方案,下面将结合图5对上述第一种通话解决方案对应的通话网络架构进行详细说明。
207.在介绍图5之前,先对图5中涉及的术语或相关名词进行说明。
208.enodeb(evolved node b)是长期演进(long term evolution,lte)网络中的无线基站,也是lte无线接入网的网元。
209.服务/pdn网关(serving/pdn gateway,s/p-gw)是lte网络中的一个网元。
210.会话边界控制器(session border controller,sbc)是ims网络中的一个网元。
211.边界控制器功能(border controller function,bcf)是ims网络中的一个网元,用于实现边界控制功能或者sbc信令处理。
212.多媒体资源功能(multimedia resource function,mrf)。
213.多媒体资源功能控制器(multimedia resource function controller,mrfc)。
214.多媒体资源功能处理器(multimedia resource function processor,mrfp)。
215.查询呼叫会话控制功能(interrogating-call session control function,i-cscf)。
216.服务呼叫会话控制功能(serving-call session control function,s-cscf)。
217.出口网关控制功能(breakout gateway control function,bgcf),一种ims域的网络实体,该实体通过对被叫号码进行分析,实现ims域和cs域的互通。
218.互通边界控制功能(interconnection border control function,i-bcf)是控制平面。
219.高级电话服务器(advanced telephony server,ats),ats是sip应用服务器。
220.ip媒体网关(ip multimedia media gateway,im-mgw),用于实现ims域和cs域互通的边缘接入,以及必要的codec编解码变换功能。
221.媒体网关控制功能(media gateway control function,mgcf),用于ims域和cs域进行通信的网关。
222.pop可以用于nat穿透,传输媒体数据。
223.如图5所示,主叫(mobile origination call,mo)51包括手机和固话,被叫(mobile termination call,mt)52为手机。当mo51为固话时,mo51通过pstn接入到mt的ims网络56;当手机只支持cs网络时,mo51则通过cs网络53接入到mt的ims网络56。主叫侧网络包括cs网络53、pstn 54和ims网络55,cs网络53包括移动交换中心(mobile switching center,msc)。被叫侧网络包括ims网络56。
224.ims网络55包括以下网元:enodeb、s/p-gw、sbc、i/s-cscf/bgcf/mrfc/i-bcf和mrfp。mt的ims网络56包括以下网元:enodeb、s/p-gw、sbc、ats、mgcf/im-mgw、i/s-cscf/bgcf/mrfc/i-bcf和mrfp。
225.mo51和mt52的运营商网络信号均较好的情况下,mo51和mt52之间的信令交互流程可以包括:mo51向mt52发起呼叫,mo51的呼叫请求通过ims网络55、cs网络53或者pstn54传递至mt52一侧的ims网络56中的多媒体资源控制网元561。多媒体资源控制网元561再将mo51的呼叫请求传递至mt52,以建立mo51和mt52之间的通话连接。建立通话连接之后,mo51和mt52之间可以基于该通话网络架构传递语音数据和/或视频数据。
226.然而,在mt52的运营商网络信号不佳即被叫侧网络信号不佳,或者mt52无运营商网络信号等情况下,mt52的多媒体资源控制网元561无法通过ims网络56中sbc564、s/p-gw和enodeb,将mo51的呼叫请求传递至mt52,使得mt52收不到mo51的呼叫。
227.针对这个问题,搭建了mt52一侧的实时网络(real-time network,rtn)58。rtn58通过互联网57与ims网络56的sbc563通信连接,rtn58可以等同于voip网关。rtn58还可以通过互联网59与voip服务器510通信连接,voip服务器通过互联网511和wi-fi512与mt52连接。当然,在其它一些实施例中,mt52还可以通过蜂窝网络和互联网511与voip服务器510通信连接。
228.在mt52的ims网络56中的多媒体资源控制网元561发现寻呼失败时,从ats 562上查询被叫号码是否开通有前转业务,如果被叫号码开通了用户不可及前转业务,且设置了用户不可及时前转6061xxx,多媒体资源控制网元561通过sbc563将呼叫请求前转至rtn58中的i-sbc581,具体地,生成6061xxx的invite消息,并将该invite消息路由至i-sbc581,该invite消息携带有被叫号码。i-sbc581接收到6061xxx的invite消息之后,根据前转信令,将6061xxx的invite消息传输至bcf582。bcf582通过解析该invite消息得到被叫号码,并将解析得到的被叫号码通过互联网59发送至voip服务器510。voip服务器510接收到被叫号码之后,查找该被叫号码对应的被叫设备信息,该被叫设备信息包括voip号码(或称voip通信
号码)和设备唯一标识等。然后,voip服务器510再通过互联网511和wi-fi512向mt52发起voip呼叫。
229.需要指出的是,rtn58和voip服务器510之间也可以不用跨互联网,即rtn58和voip服务器510之间的通信连接方式不限于互联网。rtn58可以等同于上文提及的voip网关,用于接收ims网络56发送的前转消息,并从前转消息中解析得到被叫号码后,将被叫号码传输至voip服务器510。
230.在其它一些实施例中,rtn58和voip服务器510也可以集成为一个服务器。另外,ims网络56中的sbc563和sbc564所实现的功能也可以集成在一个sbc中。
231.可以看出,通过在被叫终端一侧搭建voip网关和voip服务器,使得被叫不可及时,被叫侧网络将主叫终端的呼叫请求前转至rtn58,rtn58再将主叫终端的呼叫请求中继到voip服务器,最后由voip服务器向被叫发起voip呼叫。对于被叫侧来说,即使运营商网络覆盖不佳,仍然能接收到主叫终端的呼叫请求,建立通话连接。而对于主叫侧用户来说一般是无感的,即主叫侧用户一般感知不到被叫侧的运营商网络状况,例如,主叫侧用户不会收到“所拨打的用户不在服务区”等提示信息。
232.基于上述的通话网络架构以及通话场景,下面对本技术的通话流程进行详细说明。请参见图6,图6示出了本技术实施例提供的通话方法的一种交互示意图,该方法可以包括以下步骤:
233.步骤s601、主叫终端发送第一呼叫请求至主叫侧网络,以向被叫终端发起呼叫。
234.需要说明的是,主叫终端可以是移动终端或者固话,移动终端可以通过ims网络或者cs网络与被叫终端进行通话。而固话可以通过pstn向被叫终端发起呼叫。
235.上述第一呼叫请求是主叫终端根据被叫号码生成的invite消息,该invite消息包括被叫号码。
236.步骤s602、主叫侧网络将该第一呼叫请求发送至被叫侧网络。
237.步骤s603、被叫侧网络根据第一呼叫请求对被叫终端进行寻呼。
238.步骤s604、寻呼失败时,被叫侧网络确定被叫是否开通不可及呼叫转移业务。
239.步骤s605、如果被叫已开通不可及呼叫转移业务,被叫侧网络获取到不可及呼叫转移业务对应的目标号码。
240.步骤s606、被叫侧网络根据该第一呼叫请求和目标号码,生成前转消息,该前转消息携带有被叫号码。
241.需要指出的是,该前转消息是被叫侧网络根据目标号码生成的invite消息,该invite消息携带有被叫号码。
242.具体应用中,前转消息携带被叫号码的方式可以包括但不限于以下两种方式:
243.第一种方式
244.设置携带方式为:前转专线号码 被叫号码。例如,目标号码为6061xxx,被叫号码为123456,invite消息中携带被叫号码的方式为6061xxx123456。
245.这种方式下,第一voip服务器在接收到前转消息时,可以直接解析到被叫号码。例如,将6061xxx123456后六位作为被叫号码。
246.第二种方式
247.设置携带方式为:前转专线号码。此时,前转消息中只带有目标号码,没有被叫号
码。而是利用现有的会话初始协议(session initiation protocol,sip)信令,在前转消息中带有history-info,history-info中携带有被叫号码。这样,后续可以从history-info中提取出被叫号码。
248.作为示例而非限定,history-info具体为:
249.《sip: 861340000xxxx@ge.chinamobile.com?reason=sip%%3bcause%%3d486》;index=1,《tel:1340010xxxx》;index=1.1
250.通过解析history-info,可以提取到被叫号码。
251.步骤s607、被叫侧网络将前转消息发送至第一voip服务器。
252.步骤s608、第一voip服务器解析前转消息,获得被叫号码。
253.需要指出的是,第一voip服务器可以与上文的voip网关或者rtn等同。
254.步骤s609、第一voip服务器将被叫号码发送至第二voip服务器。
255.步骤s610、第二voip服务器查找该被叫号码对应的被叫信息。
256.步骤s611、第二voip服务器根据被叫信息向被叫终端发起voip呼叫,以建立主叫终端和被叫终端的通话连接。
257.需要说明的是,上述被叫信息可以包括但不限于voip通信号码和设备唯一标识等。其中,一个被叫号码可以对应一个或多个设备唯一标识。具体来说,如果被叫用户同时在多个设备上登录voip客户端,voip服务器可以同时向多个设备发起voip呼叫。例如,voip客户端为畅连通话,被叫用户拥有手机1、手机2和平板电脑三个电子设备,且这三个电子设备均安装有畅连通话,所绑定的手机号码均为123456。其中,手机1的设备唯一标识为111xx,手机2的设备唯一标识为222xxx,平板电脑的设备唯一标识为333xxx。第二voip服务器上存储有被叫信息包括:123456对应有三个通信号码,这三个通信号码分别与手机1的设备唯一标识、手机2的设备唯一标识和平板电脑的设备唯一标识一一对应。此时,第二voip服务器根据被叫号码123456查找到三个通信号码后,同时向这三个通信号码发起voip呼叫,这样,手机1、手机2和平板电脑均收到呼叫。
258.在其它一些实施例中,voip服务器也可以只向主设备发起voip呼叫,再由主设备向其它设备发起呼叫,以实现向多个设备发起voip呼叫。具体应用中,主设备可以与其它设备通信连接,该通信方式可以是近场通信方式,例如,蓝牙、wi-fi点对点和wi-fi sta等。在wi-fi点对点的通信方式下,主设备和其它设备可以在同一个局域网内;也可以不在一个局域网内,此时,主设备和其它设备之间仍然可以建立wi-fi点对点连接,即主设备和其它设备之间可以穿过网络防火墙实现点对点连接;也可以是通过服务器相互连接,即主设备可以通过服务器与其它设备进行数据交互。例如,主设备为手机,其它设备为平板电脑和智慧大屏,手机、平板电脑和智慧大屏同连在一个wi-fi路由器上。当手机收到voip服务器发起的voip呼叫时,手机可以通过wi-fi路由器向平板电脑和智慧大屏发起呼叫。这样,手机、平板电脑和智慧大屏均可以收到呼叫。需要指出的是,voip服务器可以根据与voip客户端账号绑定的手机号码,向对应的终端设备发起voip呼叫。而在其它一些实施例中,如果被叫终端当前插的sim卡不是原本绑定的号码,voip服务器也可以根据当前插的sim卡的号码发起voip呼叫。例如,被叫终端原本绑定的手机号码为123456,但被叫终端当前插的sim卡的号码是234567。被叫终端可以在登录voip客户端时,读取当前插的sim卡的号码,并将所读取的号码上传至voip服务器,这样,voip服务器也可以得知被叫终端当前插的sim卡的号码。
基于此,voip服务器也可以根据被叫终端当前插的sim卡的号码发起voip呼叫。
259.另外,被叫终端和第二voip服务器之间维持有一条保活的通信链路,该通信链路可以是但不限于wi-fi通信链路或者蜂窝网络。
260.为了更好地介绍通话流程,下面将结合具体示例进行说明。
261.某天晚上,马克来到家里地下室的书房工作,并将自己的手机放在书房的书桌上。地下室的运营商网络信号较差,但wi-fi网络信号较好。
262.马克的手机号码为123456,且马克的手机上安装有畅连通话。马克已经设置了用户不可及时前转至畅连通话,并且已经将畅连通话与手机号码123456绑定。也就是说,畅连通话的服务器上存储有手机号码123456和通信号码8082xxx之间的对应关系,8082xxx是马克手机上的畅连通话的voip通信号码。另外,马克的手机已经打开了wi-fi,并已连接上家里的wi-fi网络。
263.汤姆给马克打电话,此时,马克的手机为被叫终端,汤姆的手机为主叫终端。主叫终端和被叫终端的交互过程可以参见图7示出的通话方法的另一种交互示意图。如图7所示,该过程可以包括以下步骤:
264.步骤s701、主叫终端向主叫侧网络发送包括被叫号码123456的invite消息。
265.步骤s702、主叫侧网络将该invite消息发送至被叫侧网络。
266.步骤s703、被叫侧网络寻呼失败时,将主叫终端的呼叫请求前转至第一voip服务器。
267.具体应用中,被叫侧网络可以根据前转号码生成前转消息,并将该前转消息路由至第一voip服务器。该前转消息为invite消息,包括前转目标号码6061xxx,并携带有被叫号码123456。
268.步骤s704、第一voip服务器解析前转消息得到被叫号码123456,并将被叫号码123456发送至第二voip服务器。
269.步骤s705、第二voip服务器查找到被叫号码123456对应的通信号码8082xxx。
270.步骤s706、第二voip服务器向8082xxx发起voip呼叫,以建立通话连接。
271.通过图7的流程,被叫终端即使处于地下室等运营商网络信号不佳的区域时,仍然能收到主叫终端发起的呼叫。
272.马克的手机收到voip呼叫后会进行振铃,马克摘机之后,被叫终端向第二voip服务器返回用于指示被叫已接听的消息,第二voip服务器再将该消息传递至第一voip服务器。第一voip服务器根据该消息启动计费,并向被叫侧网络返回invite 200ok,被叫侧网络再向主叫终端发送invite 200ok,主叫终端和被叫终端之间成功建立通话连接。
273.可以看出,本技术实施例在被叫侧搭建voip网关和voip服务器,并将voip网关和被叫侧运营商网络连接。这样,在被叫侧网络寻呼失败时,被叫侧网络可以根据呼叫转移对应的目标号码,生成前转消息,并将该前转消息路由至voip网关,voip网关再将从前转消息中解析的被叫号码发送至voip服务器,由voip服务器查询到被叫号码对应的被叫终端,并向被叫终端发起voip呼叫,建立通话连接。以实现在被叫终端运营商网络信号不好时,仍然能收到主叫终端的呼叫请求,并建立通话连接。
274.相较于小秘书服务,本技术实施例提供的通话解决方案可以在被叫侧网络信号不佳或者其它原因导致呼叫不可达时,实现主叫终端和被叫终端的互通。
275.相较于vowi-fi,本技术实施例提供的通话解决方案基于现有运营商网络即可实现在呼叫不可达时,实现主叫终端和被叫终端的互通。
276.相较于ott通话,本技术实施例提供的通话解决方案主叫和被叫不用互加好友,也不用主叫用户在蜂窝呼叫失败时,手动发起voip呼叫。
277.需要说明的是,该通话解决方案对于主叫侧是无感的,即主叫终端并不会感知到被叫终端运营商网络信号不好。且主叫终端的通话方式没有任何限制,即主叫终端可以进行cs通话、pstn通话和volte通话等。
278.而对于被叫终端来说,其只需要开通不可及呼叫转移至voip客户端,并将被叫号码和被叫终端的设备信息等注册到voip服务器上,此外,还需要被叫终端和voip服务器之间可以相互通信。并不需要被叫用户在发现运营网络信号不好时,通过手动操作被叫终端,以告知voip服务器被叫终端的运营网络信号不好。被叫终端也不用时刻向voip服务器上报自身状态和自身所处位置。相较而言,本实施例提供的通话解决方案的用户体验更好,且用户操作更简便。
279.第二种通话解决方案
280.需要说明的是,上文介绍的第一种通话解决方案需要预先搭建被叫侧的voip网关和voip服务器,以在寻呼失败时,通过被叫侧网络将主叫终端的呼叫请求前转到voip网关,通过voip网关和voip服务器将呼叫传递给被叫。
281.而在本技术的另一些实施例中,在寻呼失败时,主叫终端也可以主动向被叫终端发起voip通话,以实现在被叫终端运营网络信号不佳或者无运营网络信号时,被叫终端仍然能收到主叫终端的呼叫请求,与主叫终端建立通话连接。
282.也就是说,区别于上述第一种通话解决方案,本技术实施例还可以提供另一种通话解决方案(下称“第二种通话解决方案”)。在第二种通话解决方案中,基于现有的通话网络架构,在被叫侧网络寻呼失败时,主叫终端自动判断是否可以发起voip呼叫,并在满足一定条件时,自动挂断当前蜂窝呼叫,触发voip呼叫,实现主叫终端和被叫终端的互通。也就是说,在寻呼失败时,第二种通话解决方案可以不用通过被叫侧网络将主叫终端的呼叫请求前转至voip网关,而是通过主叫终端自动发起voip呼叫。
283.第二种通话解决方案可以不用改变现有的网络架构,而是基于现有的网络架构。具体来说,第二种通话解决方案的通话网络架构可以包括主叫终端、被叫终端、主叫侧网络和被叫侧网络,以及voip服务器。主叫终端可以通过互联网与voip服务器通信连接,被叫终端也可以通过互联网与voip服务器通信连接。而主叫终端、被叫终端、主叫侧网络和被叫侧网络之间的连接关系可以如图1所示的通话网络架构。基于该通话网络架构,在寻呼失败时,主叫终端可以自动判断是否可以发起voip呼叫,如果可以,则通过voip服务器向被叫终端发起voip呼叫。
284.基于上述第二种通话解决方案,下面结合图8对第二种通话解决方案下的通话场景进行示例性说明。如图8所示,包括主叫终端81、被叫终端82、主叫侧网络83、被叫侧网络84、voip服务器85、互联网86和互联网87。其中,主叫终端81、被叫终端82、主叫侧网络83和被叫侧网络84的连接关系与图1的通话网络架构相同。
285.需要说明的是,图8与图3类似,与图3类似的内容可以参见上文图3的内容,在不再赘述。被叫终端82的运营商网络信号较差,wi-fi网络信号较好。一般情况下,被叫终端82可
以通过信号强弱来判断网络信号好坏。具体来说,如果被叫终端所在区域的运营商网络信号强度低于一定阈值时,被叫终端可以判定运营商网络信号较差。同理,如果被叫终端所在区域的wi-fi信号强度高于一定阈值时,被叫终端可以判定wi-fi网络信号较好。
286.需要说明的是,服务器可以通过与被叫终端进行数据交互,监测运营商网络信号的好坏。具体应用中,被叫终端可以通过蜂窝网络与服务器进行数据交互,服务器可以监测数据交互过程中的时延、丢包和抖动等信息,根据时延、丢包和抖动等信息来确定被叫终端一侧的运营商网络信号好坏。
287.被叫侧网络84在寻呼失败时,并不会像图3一样将主叫终端的呼叫请求前转至voip网关,而是由主叫终端81来自动判断是否发起voip呼叫。
288.主叫终端81通过互联网86与voip服务器85通信连接,voip服务器85通过互联网87与被叫终端82通信连接。主叫终端81判定可以向被叫终端发起voip呼叫时,主叫终端会自动挂断蜂窝通话,自动触发voip通话。主叫终端81发起的voip呼叫通过voip服务器到达被叫终端82。
289.与图3对应的通话解决方案类似,被叫终端82中安装有voip客户端,被叫终端82仍然需要预先注册到voip服务器上,具体注册过程可以参见上文图3对应实施例的内容,在此不再赘述。
290.与图3对应的通话解决方案不同的是,被叫终端不用预先开启不可及呼叫转移至voip客户端。另外,主叫终端需要预先注册到voip服务器上,注册过程与被叫终端的注册过程类似,在此不再赘述。主叫终端上安装有对应的voip客户端,该voip客户端可以以应用程序的形式存在。
291.主叫终端81可以通过蜂窝网络或者wi-fi网络等连接至互联网86,被叫终端可以通过wi-fi网络或者蜂窝网络等连接至互联网87。
292.主叫终端81在满足预先设定的触发条件时,进一步判断是否满足silent redial触发条件,如果允许触发silent redial,则挂断蜂窝通话,自动触发voip呼叫。silent redial是指后台或者自主地重拨。
293.该预先设定的触发条件可以包括超时触发和/或网络挂断触发。
294.该预先设定的触发条件只包括超时触发。
295.超时触发是指从主叫终端呼叫发起到被叫终端振铃的时间超出预设时间阈值时,则进入判断是否满足silent redial触发条件的步骤。反之,如果从主叫终端呼叫发起到被叫终端振铃的时间没有超出预设时间阈值,则不进入判断是否满足silent redial触发条件的步骤。
296.具体应用中,主叫终端81在发起呼叫时,可以同步开启t-alerting(timer of alerting)定时器。该t-alerting在呼叫发起时开始计时,在收到用于指示被叫终端振铃或者通话结束的消息时,t-alerting定时器终止。如果该定时器记录的时间大于或等于预设时间阈值,则认为是超时触发,可以进一步判断是否满足silent redial触发条件。作为示例而非限定,该预设时间阈值为15s,即从呼叫发起到振铃的时间如果超过15s,则进行silent redial触发条件判断。
297.该预先设定的触发条件只包括网络挂断触发。
298.网络挂断触发可以包括网络错误码场景和网络异常场景。主叫终端81可以在接收
到网络错误码,或者在网络异常时,进入silent redial触发条件判断过程。反之,主叫终端如果没有收到网络错误码,或者网络没有异常,则不进行silent redial触发条件判断过程。
299.网络异常场景可以例如包括一拨就断的情况,例如,主叫发起蜂窝呼叫,但没有回铃音的情况。
300.网络错误码场景是指在运营商网络出现一定情况时,主叫终端81会获取到运营商网络返回的网络错误码。作为示例而非限定,表1中示出了几种可能的网络错误码。
301.表1
[0302][0303]
可以理解的是,上述表1中网络错误码仅仅是一种示例,具体应用中,网络错误码的类型和数量并不限于此。
[0304]
该预先设定的触发条件包括超时触发和网络挂断触发。
[0305]
此时,如果定时器的时间小于预设时间阈值,且没有收到网络错误码或者网络没有异常,则不进行silent redial触发条件判断过程。反之,如果定时器的时间大于预设时间阈值,和/或,收到网络错误码或者网络异常,则进行silent redial触发条件判断过程。
[0306]
当然,如果定时器的时间大于预设时间阈值,可以不判断是否满足网络挂断触发条件,可以直接进行silent redial触发条件判断过程。
[0307]
作为示例而非限定,预设时间阈值为15s,在15s之前,主叫终端如果满足网络挂断触发条件,则进行silent redial触发条件判断过程;如果不满足网络挂断触发条件,则不
进行silent redial触发条件判断过程,并且定时器也会一直计时。当计时器的时间达到15s后,则进行silent redial触发条件判断过程。
[0308]
主叫终端触发进入silent redial触发条件判断过程后,可以先进行对端能力查询,以获取到被叫终端相关信息,然后再根据被叫终端相关信息确定是否进行silent redial。主叫终端通过对端能力查询,可以确定被叫终端是否注册在voip服务器上。
[0309]
具体应用中,主叫终端可以从voip服务器上获取到被叫终端的相关信息。被叫终端的相关信息可以包括但不限于被叫终端是否已注册在voip服务器上,被叫终端的运营商网络信号情况,被叫终端是否开启有呼叫转移业务,以及被叫终端和voip服务器之间是否存在一条通信链路等。
[0310]
在其它一些实施例中,所获取的被叫终端相关信息还可以包括被叫终端的振铃记录信息等。
[0311]
例如,如果满足以下条件:被叫终端没有运营商网络信号或者运营商网络信号较差,且被叫未开启呼叫转移业务,被叫号码匹配成功,并且被叫终端的voip客户端处于有服务状态,则判定满足silent redial触发条件。即允许触发silent redial的条件为:(phone==no service&&被叫号码匹配成功&&被叫前转未开启)&&(voip==on service)。no service可以包括无运营网络信号场景、弱信号场景或者无法稳定提供通话服务的场景。弱信号可以是指运营商网络信号低于一定的阈值。
[0312]
其中,被叫号码匹配成功是指voip呼叫携带的被叫号码和voip服务器本地存储的被叫号码相一致。被叫前转未开启是指被叫终端没有开启任何的呼叫转移业务。voip on service可以是指被叫终端和voip服务端之间存在一条通信链路,或者说被叫终端上的voip客户端处于在线状态。
[0313]
又例如,允许触发silent redial的条件还可以为:
[0314]
(phone==no service&&被叫号码匹配成功&&被叫前转未开启&&被叫未振铃)&&(voip==on service)。
[0315]
在该触发条件中,允许触发silent redial的条件增加了被叫是否振铃的判断。被叫终端是否振铃是指被叫终端是否有收到主叫终端通过运营商网络发起的蜂窝呼叫。如果被叫终端已经接收到运营商网络发起的蜂窝呼叫,但实际上用户没有接听,表明用户可能不想接听该通话,为了保证用户体验,不触发silent redial。
[0316]
在其它一些实施例中,主叫终端也可以直接与被叫终端通信,获取到被叫终端相关信息,而不用通过服务器来获取被叫终端相关信息。主叫终端与被叫终端通信,获得被叫终端的相关信息之后,则根据被叫终端相关信息进行silent redial触发条件判断,该过程与上文的类似,在此不再赘述。
[0317]
需要说明的是,主叫终端确定需要向被叫终端发起voip呼叫之后,可以直接向被叫终端发起voip呼叫,也可以由用户确认后再向被叫终端发起voip呼叫。例如,主叫终端在确定出需要向被叫终端发起voip呼叫后,可以弹出一个提示窗口,该提示窗口可以用于提示用户是否发起voip呼叫,如果主叫终端获取到用户输入的确认指令后,则向被叫终端发起voip呼叫。
[0318]
在上文提及的第二种通话解决方案中,主叫终端向被叫终端发起蜂窝呼叫后,在满足一定的触发条件时(例如,超时触发和/网络挂断触发),可以先查询被叫终端的相关信
息,然后在确定可以发起voip呼叫后,自动挂断当前蜂窝呼叫,并自动向被叫终端发起voip呼叫。
[0319]
而在其它一些实施例中,在主叫终端向被叫终端发起蜂窝呼叫之前,可以先进行起呼判断流程,即主叫终端可以先判断是否发起蜂窝呼叫,在满足一定条件下再向被叫终端发起蜂窝呼叫,再进入判断是否满足上述预先设定的触发条件。
[0320]
具体应用中,主叫终端可以根据主叫侧蜂窝网络信号情况和/或被叫侧蜂窝网络信号情况,判断是否向被叫终端发起蜂窝呼叫。
[0321]
在一种实现方式中,主叫终端获取主叫侧蜂窝网络信号的信号强度和信号质量,如果主叫侧蜂窝网络信号的信号强度低于某个信号强度阈值,或者,信号质量低于某个信号质量阈值,亦或者,信号强度和信号质量均低于某个阈值,主叫终端则可以判定不发起蜂窝呼叫,然后进入到获取被叫终端的相关信息,根据被叫终端的相关信息确定是否发起voip呼叫的流程,或者也可以直接发起voip呼叫。
[0322]
而如果主叫侧蜂窝网络信号的信号强度高于某个信号强度阈值和信号质量高于某个信号质量阈值,主叫终端则判定发起蜂窝呼叫,向被叫终端发起蜂窝呼叫。
[0323]
在另一种实现方式中,主叫终端和被叫终端均与voip服务器通信连接,被叫终端可以将被叫侧蜂窝网络信号情况上报至voip服务器。此时,主叫终端向被叫终端发起voip呼叫之前,可以从voip服务器上获取到被叫终端的状态信息,该状态信息可以包括被叫侧的蜂窝网络信号情况和voip状态信息。或者,主叫终端和被叫终端通过voip服务器连接后,主叫终端可以通过voip服务器向被叫终端进行查询,获取到被叫终端的状态信息,这样,voip服务器可以不用缓存被叫终端的状态信息。如果被叫终端的蜂窝网络的信号强度低于某个信号强度阈值,和/或信号质量低于某个信号质量阈值,主叫终端则可以判定不发起蜂窝呼叫,然后再根据被叫终端的相关信息(例如,voip状态信息),确定是否发起voip呼叫,或者也可以直接发起voip呼叫。
[0324]
其中,voip状态信息可以包括但不限于被叫终端是否已注册到voip服务器、被叫终端是否与voip服务器通信连接等。
[0325]
而如果被叫侧蜂窝网络信号的信号强度高于某个信号强度阈值和信号质量高于某个信号质量阈值,主叫终端则判定发起蜂窝呼叫,向被叫终端发起蜂窝呼叫。
[0326]
在又一种实现方式中,主叫终端同时根据主叫侧蜂窝网络信号和被叫侧蜂窝网络信号,来判断是否发起蜂窝呼叫。具体地,如果主叫侧蜂窝网络信号的信号强度和信号质量均大于对应的阈值,以及被叫侧蜂窝网络信号的信号强度和信号质量均大于对应的阈值,主叫终端判断发起蜂窝呼叫,则向被叫终端发起蜂窝呼叫。反之,如果存在以下至少一项:主叫侧蜂窝网络信号的信号质量低于某个信号质量阈值、主叫侧蜂窝网络信号的信号强度低于某个信号强度阈值、被叫侧蜂窝网络信号的信号质量低于某个信号质量阈值、被叫侧蜂窝网络信号的信号强度低于某个信号强度阈值,主叫终端则判定不发起蜂窝呼叫,而是根据被叫终端的voip状态信息等,确定是否发起voip呼叫,也可以直接发起voip呼叫。
[0327]
在其它一些实施例中,在蜂窝电话掉话时,主叫终端可以自动确定是否可以发起voip呼叫,如果可以,则自动向被叫终端发起voip呼叫。具体来说,主叫终端和被叫终端已经建立蜂窝通话连接了,由于某种原因,主叫终端和被叫终端之间的蜂窝通话连接断开了,即蜂窝电话掉话了。此时,主叫终端可以先查询被叫终端的相关信息,该被叫终端的相关信
息可以诸如包括被叫终端是否已注册到voip服务器,被叫终端和voip服务器是否存在通信连接等等。然后,主叫终端可以根据被叫终端的相关信息确定是否可以发起voip呼叫,如果可以,则自动向被叫终端发起voip呼叫。其中,如果被叫终端已注册到voip服务器上(例如,主叫终端可以从voip服务器上查找到与被叫号码一致的号码),以及被叫终端和voip服务器之间存在通信链路(例如,被叫终端通过蜂窝网络或者wi-fi网络和voip服务器通信),则判定可以发起voip呼叫。
[0328]
其中,上文提及的蜂窝网络信号强度阈值和蜂窝网络信号质量阈值可以用于表征蜂窝网络信号的好坏,蜂窝网络信号的好坏可以影响到主叫终端和被叫终端之间是否可以建立蜂窝通话连接,以及蜂窝通话连接和通话质量是否稳定等。
[0329]
在该方案中,主叫终端81可能会存在多种拨号方式,下面将结合图8中的(b)~(d)进行介绍。
[0330]
如图8中的(a)所示,主叫终端81在蜂窝呼叫不可达时,可以自动切换至voip呼叫。
[0331]
如图8中的(b)所示,主叫终端81在拨号界面811接收到用户触发的拨号操作,主叫终端81则针对号码123456发起蜂窝呼叫请求,并显示拨号界面,提示用户正在拨号中。此时,主叫终端81将针对号码123456的蜂窝呼叫请求传递至被叫侧网络,被叫侧网络可以对号码123456进行寻呼,当寻呼失败时,被叫侧网络可以给主叫终端81返回一个消息,以告知主叫终端81寻呼失败。该消息可以例如包括上文中的网络错误码等信息。主叫终端81在接收到该消息之后,可以显示提示信息812,以提示用户当前蜂窝呼叫不可达,是否切换至voip呼叫。如果用户选择“是”,主叫终端81则针对123456发起voip呼叫。
[0332]
当然,在其它一些实施例中,主叫终端81在向123456发起蜂窝呼叫的同时,通过定时器进行计时,当满足上文的超时触发时,也可以显示提示信息812。
[0333]
进一步地,主叫终端81在接收到网络侧返回网络错误码,或者检测到满足超时触发时,可以先查询被叫终端的voip能力、被叫终端的设备状态和voip状态等信息,根据这些信息,确定是否可以向号码123456关联的被叫终端发起voip呼叫,如果可以,则显示提示信息812,如果不可以,也可以显示提示信息812,但此时“是”选项变为不可选状态。或者,在判断出被叫终端不满足voip呼叫的条件时,也可以显示提示信息,提示对端设备不支持voip呼叫或者不满足voip呼叫条件。查询被叫终端的voip能力、被叫终端的设备状态和voip状态等信息的过程,以及根据这些信息判断是否可以发起voip的过程可以参见上文相应内容,在此不再赘述。
[0334]
如图8中的(c)所示,主叫终端81在拨号界面811接收到用户触发的拨号操作,接着,主叫终端81则显示提示信息813,以提示用户选择通话方式,当用户选择voip呼叫时,主叫终端81针对号码123456发起voip呼叫。针对号码123456的voip请求先传递至voip服务器,voip服务器发起号码123456对应的设备不支持voip通话时,或者号码123456的voip客户端不在线时,则向主叫终端81返回一个消息。主叫终端81在接收到该消息后,显示提示信息814,以提示用户voip呼叫不通,是否切换到蜂窝呼叫。如果用户选择“是”,主叫终端81则针对号码123456发起蜂窝呼叫。
[0335]
当然,在其它一些实施例中,主叫终端81在显示提示信息813之前,还可以先判断号码123456关联的对端设备是否支持voip呼叫,或者是否在线。具体地,主叫终端81可以向voip服务器发送一个查询请求,查询号码123456的voip能力信息等。如果查询到号码
123456没有注册到voip服务器上或者与该号码关联的设备的voip客户端不在线,则将提示信息813中的voip呼叫选项变为不可选状态。
[0336]
如图8中的(d)所示,主叫终端81在拨号界面811接收到用户触发的拨号操作,接着,主叫终端81则显示提示信息813,以提示用户选择通话方式,当用户选择蜂窝呼叫时,主叫终端81针对号码123456发起蜂窝呼叫。蜂窝呼叫请求会先传递至被叫侧网络。被叫侧网络可以对号码123456进行寻呼,当寻呼失败时,被叫侧网络可以给主叫终端81返回一个消息,以告知主叫终端81寻呼失败。该消息可以例如包括上文中的网络错误码等信息。主叫终端81在接收到该消息之后,可以显示提示信息812,以提示用户当前蜂窝呼叫不可达,是否切换至voip呼叫。如果用户选择“是”,主叫终端81则针对123456发起voip呼叫。
[0337]
当然,在其它一些实施例中,主叫终端81在向123456发起蜂窝呼叫的同时,通过定时进行计时,当满足上文的超时触发时,也可以显示提示信息812。进一步地,主叫终端81在接收到网络侧返回网络错误码,或者检测到满足超时触发时,可以先查询被叫终端的voip能力、被叫终端的设备状态和voip状态等信息,根据这些信息,确定是否可以向号码123456关联的被叫终端发起voip呼叫,如果可以,则显示提示信息812,如果不可以,也可以显示提示信息812,但此时“是”选项变为不可选状态。或者,在判断出被叫终端不满足voip呼叫的条件时,也可以显示提示信息,提示对端设备不支持voip呼叫或者不满足voip呼叫条件。先查询被叫终端的voip能力、被叫终端的设备状态和voip状态等信息的过程,以及根据这些信息判断是否可以发起voip的过程可以参见上文相应内容,在此不再赘述。
[0338]
由上可见,主叫终端在发起蜂窝呼叫之前,可以先进行起呼判决流程,即先判断是否可以发起蜂窝呼叫,如果可以,则向被叫终端发起蜂窝呼叫,如果不可以,则可以进入对端能力查询,以获取到被叫终端的voip能力信息、voip状态信息等,然后再根据被叫终端的相关信息,确定是否发起voip呼叫。进一步地,主叫终端还可以在用户进行拨号操作时,弹出通话方式选择界面,以供用户选择是用voip通话,还是用蜂窝通话。另外,主叫终端还可以根据起呼判决结果,来显示通话方式选择界面。
[0339]
示例性的,参见图图8中的(c)和(d),用户向主叫终端输入所要拨打的手机号码之后,主叫终端弹出通话方式选择界面示意图,该通话方式选择界面显示有“蜂窝呼叫”和“voip呼叫”两个选项,用户可以根据需要选择其中一种通话方式。
[0340]
进一步地,主叫终端在获取到用户输入的手机号码之后,主叫终端可以先进行起呼判决流程,根据主叫侧网络情况和/或被叫侧网络情况,确定是否可以发起蜂窝呼叫,如果不可以发起蜂窝呼叫,弹出通话方式选择界面中“蜂窝呼叫”就会变成不可选状态,具体可以外现为“蜂窝呼叫”变为灰色或者黑色。即用户不可以选择蜂窝呼叫方式。
[0341]
当然,主叫终端还可以根据用户输入的被叫号码,向voip服务器发送查询请求,以进行对端能力查询;获取到被叫终端的voip状态信息和手机状态信息之后,再根据这些信息判断是否可以发起voip呼叫。如果不可以发起voip呼叫,通话方式选择界面上的“voip呼叫”选项也会变成不选状态,具体可以外现为“voip呼叫”变为灰色或者黑色。
[0342]
在另一些实施例中,主叫终端81在接收到用户输入的号码,并接收到用户的蜂窝呼叫触发操作,主叫终端81可以响应于用户的拨号操作,针对被叫号码发起voip呼叫。例如,用户想要向号码123456发起蜂窝呼叫,但是主叫终端81在接收到蜂窝呼叫触发操作之后,向号码123456发起的是voip呼叫。此时,用户可能不会感知主叫终端81发起的是蜂窝呼
叫还是voip呼叫。在该情况下,主叫终端81可以先判断是否可以发起蜂窝呼叫,具体判断过程可以参见上文相关内容。如果确定不可以发起蜂窝呼叫,则可以在用户想要发起蜂窝呼叫时,向被叫号码发起voip呼叫,但用户不用感知通话方式是什么。
[0343]
当然,还可以根据被叫号码的通话历史记录,来确定是否使用voip呼叫。比如,用户想要向号码123456发起蜂窝呼叫,但是主叫终端查询到号码123456的通话历史记录均是voip通话,此时,主叫终端则响应于蜂窝呼叫触发操作,向号码123456发起voip呼叫。
[0344]
可以看出,相较于图3,图8不用搭建voip网关,在寻呼失败时也不用被叫侧网络将主叫终端的呼叫请求前转出来,而是由主叫终端主动判断是否进行silent redial,以自动挂断当前蜂窝通话,触发voip通话。
[0345]
需要说明的是,主叫终端81在挂断蜂窝通话,触发voip通话时,拨号界面可以一直保持,并可以给出对应的提示信息,以提示用户已从蜂窝通话切换至voip通话。这样,对于主叫用户来说,不需要手动挂断蜂窝通话,再手动发起voip通话,通话操作更加智能,更加简便。
[0346]
为了更好的理解上述第二种通话解决方案,下面将结合图9对上述第二种通话解决方案对应的通话网络架构进行详细说明。
[0347]
如图9所示,该通话网络架构包括mo91、mt92、mo的ims网络93、mt的ims网络94、voip服务器95、互联网96和互联网97。关于ims网络93和ims网络94的相关介绍可以参见图5对应的内容,在此不再赘述。
[0348]
mo91向mt92发起的呼叫请求,通过ims网络93和ims网络94传递不到mt92时,mo91可以自动判断是否发起voip通话,以自动挂断蜂窝呼叫,触发voip呼叫。这样,在蜂窝呼叫异常时,mo91可以自动切换至voip通话。
[0349]
相较于图5,图9中的mo91不包括固话和支持cs通话的手机。且图9的网络架构不包括被叫侧网络的voip网关,也不用被叫侧网络在寻呼失败时将呼叫请求前转至voip网关。
[0350]
基于上述第二种通话解决方案的通话网络架构以及通话场景,下面对第二种通话解决方案的通话流程进行详细说明。请参见图10,图10是本技术实施例提供的通话方法的又一种交互示意图,该通话过程可以包括以下步骤:
[0351]
步骤s1001、主叫终端的拨号应用程序(dial application,dial app)向被叫终端发起蜂窝呼叫。
[0352]
需要说明的是,在其它一些实施例中,步骤s1001之前,主叫终端还可以先判断是否满足发起蜂窝呼叫的条件,如果满足,则发起蜂窝呼叫,即进入步骤s1001。具体应用中,主叫终端可以根据主叫侧蜂窝网络信号情况和/或被叫侧蜂窝信号情况,确定是否发起蜂窝呼叫。一般情况下,如果主叫侧蜂窝网络的信号强度低于某个信号强度阈值,和/或信号质量低于某个信号阈值,主叫终端则可以确定不发起蜂窝呼叫,而是进入主叫终端可以获取被叫终端相关信息,根据被叫终端相关信息确定是否发起voip呼叫的流程,如果可以发起voip呼叫,则向被叫终端发起voip呼叫。而如果主叫侧蜂窝网络信号强度和信号质量均高于某个阈值,则判定发起voip呼叫,进入步骤s1001。
[0353]
当然,主叫终端也可以根据被叫终端的蜂窝网络信号情况来确定是否发起蜂窝呼叫。具体应用中,主叫终端可以从voip服务器上获取到被叫终端上报的蜂窝网络信号情况。根据被叫侧蜂窝网络信号情况确定是否发起蜂窝呼叫的过程与根据主叫侧蜂窝网络信号
确定是否发起蜂窝呼叫的过程类似,在此不再赘述,
[0354]
另外,主叫终端也可以同时根据主叫侧蜂窝网络信号情况和被叫侧蜂窝网络信号情况,来确定是否发起蜂窝呼叫。步骤s1002、主叫终端的dial app判断是否满足预设触发条件。该预设触发条件包括超时触发和/或网络挂断触发。
[0355]
步骤s1003、如果满足预设触发条件,主叫终端的voip客户端获取被叫终端相关信息。
[0356]
该被叫终端相关信息可以包括被叫终端的状态信息和被叫中的voip客户端的状态信息。被叫终端的状态信息包括被叫终端一侧的运营商网络信号、被叫终端是否开通呼叫转移业务、被叫号码和被叫是否振铃等。被叫是否振铃是指被叫终端是否收到主叫通过运营商网络发起的蜂窝呼叫。
[0357]
具体应用中,主叫终端可以直接与被叫终端通信,以获取到被叫终端相关信息;也可以通过voip服务器与被叫终端通信,以获取到被叫终端相关信息。
[0358]
步骤s1004、主叫终端的voip客户端将获取到的被叫终端相关信息传输至dial app。
[0359]
步骤s1005、主叫终端的dial app根据被叫终端相关信息,确定是否允许触发silent redial。
[0360]
步骤s1006、如果允许触发silent redial,主叫终端的voip客户端则向被叫终端发起voip呼叫。
[0361]
可以理解的是,主叫终端和被叫终端上均包括voip客户端,该voip客户端的具体表现形式可以是任意的,例如,该voip客户端为畅连通话app。图10中的运营商网络包括主叫侧网络和被叫侧网络。
[0362]
主叫终端可以根据被叫终端的通信号码,发起voip呼叫请求。该voip呼叫请求通过互联网传递至voip服务器,voip服务器再通过互联网传递至被叫终端。
[0363]
由上可见,在上述第二种通话解决方案中,对于主叫终端的用户来说,仍然是无感的,且均是主叫终端主动执行的,无需用户操作。
[0364]
而对于被叫终端来说,在运营商网络信号不好或者无运营商网络信号时,仍然能收到主叫终端的呼叫请求,并与主叫终端建立通话连接,实现互通。除了呼叫等待时间可能比正常呼叫流程更长之外,其它与正常情况下的呼叫流程是一致的。另外,主叫终端和被叫终端也不用互相加好友。另外,在该通话解决方案中,主叫终端可以根据对端信息,主动确定是否触发voip呼叫,不用主叫终端的用户进行额外的操作。
[0365]
相较于小秘书服务,本技术实施例提供的通话解决方案可以在被叫侧网络信号不佳或者其它原因导致呼叫不可达时,实现主叫终端和被叫终端的互通。
[0366]
相较于vowi-fi,本技术实施例提供的通话解决方案基于现有运营商网络即可实现在呼叫不可达时,实现主叫终端和被叫终端的互通。
[0367]
相较于ott通话,本技术实施例提供的通话解决方案主叫和被叫不用互加好友,也不用主叫用户在蜂窝呼叫失败时,手动发起voip呼叫。
[0368]
需要指出的是,第二种通话解决方案与上述第一种通话解决方案的相同之处,可以参见上文相应内容。
[0369]
由上可见,针对由于被叫侧运营商网络信号不佳或者无运营商网络信号等原因,
导致被叫终端收不到呼叫的问题,上文分别提出了两种思路,第一种思路是在被叫侧搭建voip网关,并将voip网关连接至被叫侧网络,以在寻呼失败时,被叫侧网络根据前转号码生成前转消息,并该前转消息路由至voip网关,以将主叫终端的呼叫请求前转至voip网关。voip网关再将该从前转消息中解析得到的被叫号码传输至voip服务器,再由voip服务器根据被叫号码查询到相应的被叫终端,并发起voip呼叫;而第二种思路是在寻呼失败时,主叫终端判断是否满足一定的条件,如果满足一定的条件,则自动挂断当前的蜂窝通话,触发voip通话。这两种思路均可以在被叫终端运营商网络信号不佳或者无运营商网络信号等情况下,让被叫终端仍然能收到主叫终端发起的呼叫,建立通话连接。
[0370]
需要说明的是,除了这两种通话解决方案,还可以将上述两种通话解决方案进行相应组合,以得到不同的通话解决方案。
[0371]
第三种通话解决方案
[0372]
例如,在本技术实施例提供的又一种通话解决方案中(下称“第三种通话解决方案”),通过搭建被叫终端一侧的voip网关和voip服务器,并将被叫侧网络连接至voip网关。此时,被叫侧网络寻呼失败,且被叫号码开通了不可及前转业务时,被叫侧网络可以将呼叫请求前转至voip网关,由voip网关和voip服务器将呼叫请求中继至被叫终端,实现被叫终端和主叫终端的互通。而如果被叫号码没有开通不可及前转业务,则由主叫终端自动判断是否可以发起voip呼叫,并在满足一定条件时,自动挂断当前蜂窝呼叫,触发voip呼叫,实现主叫终端和被叫终端的互通。
[0373]
在该通话解决方案中,需要部署voip网关,并将voip网关连接至被叫侧网络。另外,主叫终端通过互联网与voip服务器连接,被叫终端也通过互联网与voip服务器连接。
[0374]
需要指出的是,第三种通话解决方案的通话网络架构与上述第一种通话解决方案的通话网络架构类似。在第一种通话解决方案的通话网络架构的基础上,voip服务器还可以互联网分别与主叫终端和被叫终端通信连接。
[0375]
基于上述第三种通话解决方案,下面结合图11对该通话解决方案下的通话场景进行示例性说明。
[0376]
请参见图11,图11是本技术实施例提供的又一种通话场景示意图。如图11所示,该场景可以包括主叫终端111、被叫终端112、主叫侧网络113、被叫侧网络114、voip服务器115、voip网关116和互联网117~119。
[0377]
基于此,在寻呼失败时,如果被叫终端已经注册到voip服务器,且开启了不可及前转至voip客户端,被叫侧网络可以根据前转号码生成前转消息,并将携带有被叫号码的前转消息路由至voip网关,以将呼叫请求前转至voip网关。voip网关通过解析前转消息获得被叫号码,再将被叫号码发送至voip服务器。voip服务器根据被叫号码对被叫终端设备进行寻址,再向被叫终端设备发起voip呼叫。
[0378]
如果被叫终端没有开启不可及前转voip客户端,但已经注册到voip服务器,此时,被叫侧网络不将呼叫请求前转至voip网关,而是由主叫终端主动判断是否发起voip通话,如果判定可以发起voip通话,主叫终端则通过voip服务器向被叫终端发起voip呼叫。
[0379]
作为示例而非限定,第三种通话解决方案的过程可以包括:
[0380]
主叫终端向被叫终端发起蜂窝呼叫,蜂窝呼叫请求通过主叫侧网络传递至被叫侧网络。被叫侧网络根据该蜂窝呼叫请求对被叫终端进行寻呼。寻呼失败时,被叫侧网络可以
先从前转服务器上查询该被叫号码是否开通呼叫转移业务。如果该被叫号码开通了不可及呼叫转移业务时,则获取到不可及呼叫转移的目标号码,并生成该目标号码的呼叫请求(或称前转消息),该目标号码的呼叫请求携带有源被叫号码。如果目标号码是预先设定的号码(例如,6061xxx),被叫侧网络会将目标号码的呼叫请求均路由至voip网关。voip网关通过解析该呼叫请求获得被叫号码,再将该被叫号码发送至voip服务器。voip服务器根据被叫号码查找被叫终端,并向查找到的被叫终端发起voip呼叫。
[0381]
而如果被叫侧网络确定被叫号码没有开通呼叫转移业务,运营商网络可以给主叫终端返回一个指示信息,该指示信息用于告知主叫终端被叫号码没有开通呼叫转移业务。主叫终端则可以进行对端能力查询,以确定被叫号码是否注册至voip服务器上,以及被叫终端的voip客户端是否处于有服务状态。如果被叫号码已注册在voip服务器上,且能满足一定条件,主叫终端则可以自动挂断当前蜂窝呼叫,触发voip呼叫。
[0382]
进一步地,主叫终端还可以进一步判断被叫终端一侧的运营网络信号质量状况和是否已接收到主叫发起的蜂窝呼叫并振铃等相关信息。并根据这些信息确定是否发起voip呼叫。
[0383]
基于上述第三种通话解决方案的通话网络架构以及通话场景,下面对本技术实施例的通话流程进行详细说明。请参见图12,图12是本技术实施例提供的通话方法的又一交互示意图,该通话方法可以包括以下步骤:
[0384]
步骤s1201、主叫终端向主叫侧网络发送呼叫请求。
[0385]
需要说明的是,在其它一些实施例中,在步骤s1201之前,即主叫终端向被叫终端发起蜂窝呼叫之前,主叫终端可以先确定是否发起蜂窝呼叫,如果确定发起蜂窝呼叫,则进入步骤s1201。反之,如果确定不发起蜂窝呼叫,主叫终端可以先获取被叫终端的相关信息,例如,被叫终端是否已注册到voip服务器,被叫终端和voip服务器是否有通信链路等。然后,主叫终端再根据被叫终端的相关信息,确定是否发起voip呼叫。如果满足一定条件,主叫终端则向被叫终端发起voip呼叫。
[0386]
主叫终端可以根据主叫侧蜂窝网络信号情况和/或被叫侧蜂窝网络信号情况,确定是否向被叫终端发起蜂窝呼叫。具体过程可以参见上文第二种通话解决方案的对应内容,在此不再赘述。
[0387]
步骤s1202、在寻呼失败时,被叫侧网络确定被叫号码是否开通有不可及呼叫转移业务。若是,进入步骤s1203,若否,步骤s1209。
[0388]
需要指出的是,呼叫转移业务还可以包括但不限于无应答呼叫转移业务、遇忙呼叫转移业务和无条件前转呼叫转移业务。
[0389]
步骤s1203、被叫侧网络获取被叫号码的不可及前转号码,并生成前转消息。
[0390]
该前转消息可以是根据前转号码生成的invite消息,该消息携带有被叫号码。
[0391]
步骤s1204、被叫侧网络将该前转消息路由至第一voip服务器。
[0392]
步骤s1205、第一voip服务器解析该前转消息,得到被叫号码。
[0393]
步骤s1206、第一voip服务器将被叫号码发送至第二voip服务器。
[0394]
步骤s1207、第二voip服务器查找该被叫号码对应的voip通信号码。
[0395]
步骤s1208、第二voip服务器根据该voip通信号码向被叫终端发起voip呼叫。
[0396]
步骤s1209、主叫终端确定是否满足预设触发条件。若是,则进入步骤s1210。
[0397]
此时,该预设触发条件可以是超时触发和/网络挂断触发;还可以是接收到运营商网络返回的一个指示消息,即被叫侧网络在寻呼失败,且被叫号码没有开通不可及前转呼叫转移业务时,被叫侧网络可以给主叫终端返回一个指示消息,该指示消息用于指示进行后续步骤,即进行步骤s1210。
[0398]
步骤s1210、主叫终端获取被叫终端相关信息。
[0399]
步骤s1211、主叫终端根据被叫终端相关信息,确定是否允许触发silent redial。若是,进入步骤s1212。
[0400]
步骤s1212、主叫终端向被叫终端发起voip呼叫。
[0401]
需要说明的是,该通话解决方案与上文提及的两种思路的通话解决方案的相同之处,可以相互参见。
[0402]
需要指出的是,第三种通话解决方案可以看作是第一种通话解决方案和第二种通话解决方案的组合。
[0403]
在这种情况下,对于一些没有开通不可及前转业务,但已经注册到voip服务器的被叫号码来说,在被叫侧网络呼叫不可达时,被叫终端仍然可以接收到主叫终端的呼叫请求,实现主叫和被叫的互通。
[0404]
第三种通话解决方案与上文的第一种通话解决方案、第二种通话解决方案的相同或相似之处,可以参见上文相应内容,在此不再赘述。
[0405]
还需要指出的是,上文仅仅列举了三种通话解决方案,并不意味着本技术实施例只有这三种通话解决方案。基于这三种解决方案,进行相应地组合可以得到一些新的通话解决方案。换句话说,上文分别示出了三种可能的通话解决方案,但实际应用中,基于这三种通话解决方案进行组合,或者步骤的增加、删减或者替换所得到的方案也应用落入到本技术实施例的保护范围。
[0406]
还需要指出的是,在上文提及的几种通话解决方案中,主叫终端一般都是通过无线基站接入到运营商网络中。而在其它一些实施例中,主叫终端也可以通过vowi-fi接入到运营商网络中。也就是说,本技术实施例提供的几种通话解决方案也适用于vowi-fi场景。在vowi-fi场景下,被叫侧网络、voip网关和voip服务器的处理流程与上文的类似,在此不再赘述。
[0407]
本技术实施例还提供了一种终端设备,该终端设备可以具体外现为主叫终端、被叫终端、voip网关或voip服务器。主叫终端可以具体为手机或平板电脑等移动通话终端,也可以为固话。被叫终端可以具体为手机或平板电脑等移动通话终端。
[0408]
该种终端设备可以包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现对应的方法流程。
[0409]
当终端设备为第一终端设备时,其可以执行第一终端设备一侧的相关方法流程。当终端设备为第二终端设备时,其可以执行第二终端设备一侧的相关方法流程。当终端设备为voip服务器时,其可以执行voip服务器一侧的相关方法流程。
[0410]
作为示例而非限定,如图13所示,电子设备1300可以包括处理器1310,外部存储器接口1320,内部存储器1321,通用串行总线(universal serial bus,usb)接口1330,充电管理模块1340,电源管理模块1341,电池1342,天线1,天线2,移动通信模块1350,无线通信模块1360,音频模块1370,扬声器1370a,受话器1370b,麦克风1370c,耳机接口1370d,传感器
模块1380,按键1390,马达1391,指示器1392,摄像头1393,显示屏1394,以及用户标识模块(subscriber identification module,sim)卡接口1395等。其中传感器模块1380可以包括压力传感器1380a,陀螺仪传感器1380b,气压传感器1380c,磁传感器1380d,加速度传感器1380e,距离传感器1380f,接近光传感器1380g,指纹传感器1380h,温度传感器1380j,触摸传感器1380k,环境光传感器1380l,骨传导传感器1380m等。
[0411]
可以理解的是,本技术实施例示意的结构并不构成对电子设备1300的具体限定。在本技术另一些实施例中,电子设备1300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0412]
处理器1310可以包括一个或多个处理单元,例如:处理器1310可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0413]
其中,控制器可以是电子设备1300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0414]
处理器1310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1310中的存储器为高速缓冲存储器。该存储器可以保存处理器1310刚用过或循环使用的指令或数据。如果处理器1310需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器113的等待时间,因而提高了系统的效率。
[0415]
在一些实施例中,处理器1310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
[0416]
i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器1310可以包含多组i2c总线。处理器1310可以通过不同的i2c总线接口分别耦合触摸传感器1380k,充电器,闪光灯,摄像头1393等。例如:处理器1310可以通过i2c接口耦合触摸传感器1380k,使处理器1310与触摸传感器1380k通过i2c总线接口通信,实现电子设备1300的触摸功能。
[0417]
i2s接口可以用于音频通信。在一些实施例中,处理器1310可以包含多组i2s总线。处理器1310可以通过i2s总线与音频模块1370耦合,实现处理器1310与音频模块1370之间的通信。
[0418]
pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块1370与无线通信模块1360可以通过pcm总线接口耦合。i2s接口和pcm接口都可以用于音频通信。
[0419]
uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器1310与无线通信模块1360。例如:处理器1310通过uart接口与无线通信模块1360中的蓝牙模块通信,实现蓝牙功能。
[0420]
mipi接口可以被用于连接处理器1310与显示屏1394,摄像头1393等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器1310和摄像头1393通过csi接口通信,实现电子设备1300的拍摄功能。处理器1310和显示屏1394通过dsi接口通信,实现电子设备1300的显示功能。
[0421]
gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器1310与摄像头1393,显示屏1394,无线通信模块1360,音频模块1370,传感器模块1380等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
[0422]
usb接口1330是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口1330可以用于连接充电器为电子设备1300充电,也可以用于电子设备1300与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
[0423]
可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备1300的结构限定。在本技术另一些实施例中,电子设备1300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0424]
充电管理模块1340用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块1340可以通过usb接口1330接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备1300的无线充电线圈接收无线充电输入。充电管理模块1340为电池1342充电的同时,还可以通过电源管理模块1341为电子设备供电。
[0425]
电源管理模块1341用于连接电池1342,充电管理模块1340与处理器1310。电源管理模块1341接收电池1342和/或充电管理模块1340的输入,为处理器1310,内部存储器1321,外部存储器,显示屏1394,摄像头1393,和无线通信模块1360等供电。电源管理模块1341还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块1341也可以设置于处理器1310中。在另一些实施例中,电源管理模块1341和充电管理模块1340也可以设置于同一个器件中。
[0426]
电子设备1300的无线通信功能可以通过天线1,天线2,移动通信模块1350,无线通信模块1360,调制解调处理器以及基带处理器等实现。
[0427]
天线1和天线2用于发射和接收电磁波信号。电子设备1300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0428]
移动通信模块1350可以提供应用在电子设备1300上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块1350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块1350可以由天线1接收电磁波,并对接
emitting diodes,qled)等。在一些实施例中,电子设备1300可以包括1个或n个显示屏1394,n为大于1的正整数。
[0434]
电子设备1300可以通过isp,摄像头1393,视频编解码器,gpu,显示屏1394以及应用处理器等实现拍摄功能。
[0435]
isp用于处理摄像头1393反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头1393中。
[0436]
摄像头1393用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备1300可以包括1个或n个摄像头1393,n为大于1的正整数。
[0437]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备1300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0438]
视频编解码器用于对数字视频压缩或解压缩。电子设备1300可以支持一种或多种视频编解码器。这样,电子设备1300可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
[0439]
npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备1300的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0440]
外部存储器接口1320可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备1300的存储能力。外部存储卡通过外部存储器接口1320与处理器1310通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0441]
内部存储器1321可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器1310通过运行存储在内部存储器1321的指令,从而执行电子设备1300的各种功能应用以及数据处理。内部存储器1321可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备1300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器1321可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
[0442]
电子设备1300可以通过音频模块1370,扬声器1370a,受话器1370b,麦克风1370c,耳机接口1370d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0443]
音频模块1370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块1370还可以用于对音频信号编码和解码。在一些实施
例中,音频模块1370可以设置于处理器1310中,或将音频模块1370的部分功能模块设置于处理器1310中。
[0444]
扬声器1370a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备130可以通过扬声器1370a收听音乐,或收听免提通话。
[0445]
受话器1370b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备130接听电话或语音信息时,可以通过将受话器1370b靠近人耳接听语音。
[0446]
麦克风1370c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风1370c发声,将声音信号输入到麦克风1370c。电子设备1300可以设置至少一个麦克风1370c。在另一些实施例中,电子设备1300可以设置两个麦克风1370c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备1300还可以设置三个,四个或更多麦克风1370c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
[0447]
耳机接口1370d用于连接有线耳机。耳机接口1370d可以是usb接口1330,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
[0448]
压力传感器1380a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器1380a可以设置于显示屏1394。压力传感器1380a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备1300根据电容的变化确定压力的强度。当有触摸操作作用于显示屏1394,电子设备1300根据压力传感器1380a检测触摸操作强度。电子设备1300也可以根据压力传感器1380a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0449]
陀螺仪传感器1380b可以用于确定电子设备1300的运动姿态。在一些实施例中,可以通过陀螺仪传感器1380b确定电子设备1300围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器1380b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备1300抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备1300的抖动,实现防抖。陀螺仪传感器1380b还可以用于导航,体感游戏场景。
[0450]
气压传感器1380c用于测量气压。在一些实施例中,电子设备1300通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
[0451]
磁传感器1380d包括霍尔传感器。电子设备1300可以利用磁传感器1380d检测翻盖皮套的开合。在一些实施例中,当电子设备1300是翻盖机时,电子设备1300可以根据磁传感器1380d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
[0452]
加速度传感器1380e可检测电子设备1300在各个方向上(一般为三轴)加速度的大小。当电子设备1300静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应
用于横竖屏切换,计步器等应用。
[0453]
距离传感器1380f,用于测量距离。电子设备1300可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备130可以利用距离传感器1380f测距以实现快速对焦。
[0454]
接近光传感器1380g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备1300通过发光二极管向外发射红外光。电子设备1300使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备1300附近有物体。当检测到不充分的反射光时,电子设备1300可以确定电子设备1300附近没有物体。电子设备1300可以利用接近光传感器1380g检测用户手持电子设备1300贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器1380g也可用于皮套模式,口袋模式自动解锁与锁屏。
[0455]
环境光传感器1380l用于感知环境光亮度。电子设备1300可以根据感知的环境光亮度自适应调节显示屏1394亮度。环境光传感器1380l也可用于拍照时自动调节白平衡。环境光传感器1380l还可以与接近光传感器1380g配合,检测电子设备1300是否在口袋里,以防误触。
[0456]
指纹传感器1380h用于采集指纹。电子设备1300可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0457]
温度传感器1380j用于检测温度。在一些实施例中,电子设备1300利用温度传感器1380j检测的温度,执行温度处理策略。例如,当温度传感器1380j上报的温度超过阈值,电子设备1300执行降低位于温度传感器1380j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备1300对电池1342加热,以避免低温导致电子设备1300异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备1300对电池1342的输出电压执行升压,以避免低温导致的异常关机。
[0458]
触摸传感器1380k,也称“触控面板”。触摸传感器1380k可以设置于显示屏1394,由触摸传感器1380k与显示屏1394组成触摸屏,也称“触控屏”。触摸传感器1380k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏1394提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器1380k也可以设置于电子设备1300的表面,与显示屏1394所处的位置不同。
[0459]
骨传导传感器1380m可以获取振动信号。在一些实施例中,骨传导传感器1380m可以获取人体声部振动骨块的振动信号。骨传导传感器1380m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器1380m也可以设置于耳机中,结合成骨传导耳机。音频模块1370可以基于骨传导传感器1380m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器1380m获取的血压跳动信号解析心率信息,实现心率检测功能。
[0460]
按键1390包括开机键,音量键等。按键1390可以是机械按键。也可以是触摸式按键。电子设备1300可以接收按键输入,产生与电子设备1300的用户设置以及功能控制有关的键信号输入。
[0461]
马达1391可以产生振动提示。马达1391可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振
动反馈效果。作用于显示屏1394不同区域的触摸操作,马达1391也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0462]
指示器1392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0463]
sim卡接口1395用于连接sim卡。sim卡可以通过插入sim卡接口1395,或从sim卡接口1395拔出,实现和电子设备1300的接触和分离。电子设备1300可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口1395可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口1395可以同时插入多张卡。多张卡的类型可以相同,也可以不同。sim卡接口1395也可以兼容不同类型的sim卡。sim卡接口1395也可以兼容外部存储卡。电子设备1300通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备1300采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备1300中,不能和电子设备1300分离。
[0464]
电子设备1300的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明电子设备1300的软件结构。
[0465]
图14是本发明实施例的电子设备1300的软件结构框图。
[0466]
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
[0467]
应用程序层可以包括一系列应用程序包。
[0468]
如图14所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,拨号app,畅连通话等应用程序。
[0469]
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
[0470]
如图14所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0471]
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0472]
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0473]
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0474]
电话管理器用于提供电子设备1300的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0475]
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0476]
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消
息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0477]
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
[0478]
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0479]
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0480]
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
[0481]
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
[0482]
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
[0483]
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0484]
2d图形引擎是2d绘图的绘图引擎。
[0485]
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0486]
下面结合通话场景,示例性说明电子设备1300软件以及硬件的工作流程。
[0487]
主叫终端的拨号app发起蜂窝呼叫时,拨号app将相应的数据发生至移动通信模块1050,移动通信模块1350通过调制器生成invite消息,将该invite消息通过天线1转为电磁波辐射出去。invite消息通过无线基站传递至运营商网络,运营商网络再将该invite消息传递至被叫终端。被叫终端通过天线1接收电磁波,通过解调器对电磁波进行解调,得到对应的通话数据,被叫终端的电话管理器通知拨号app,接通电话。
[0488]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序(也可以称为指令或代码),计算机程序被运行时,实现上述各个方法实施例中的步骤。
[0489]
本技术实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序(也可称为指令或代码),当计算机程序在电子设备上运行时,使得电子设备实现上述各个方法实施例中的步骤。
[0490]
本技术实施例还提供一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述各个方法实施例中的步骤。
[0491]
可选地,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。可选地,所述芯片系统还可以包括存储器,存储器与处理器通过电路或电线连接。可选地,所述芯片还包括通信接口。
[0492]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0493]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0494]
此外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
[0495]
最后应说明的是:以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献