发明内容
针对业界的上述需求,本发明的发明人基于多年的研发经验,开发出了一套车载智能通信系统。具体地,本发明提出了一种车载智能通信系统,包括:
车载电话装置,能经由无线通信网络进行通信;
蓝牙通信装置,能与移动通信装置进行蓝牙连接;以及
仲裁器,在所述车载电话装置和所述蓝牙通信装置之间择一进入工作状态,
其中,在所述车载电话装置的工作状态期间,所述仲裁器屏蔽移动通信装置的蓝牙连接请求,
其中,当所述车载电话装置不处于工作状态且仲裁器接收到移动通信装置的蓝牙连接请求时,提示用户选择是否接收该蓝牙连接请求。
根据本发明的一个实施例,在上述车载智能通信系统中,当用户选择接收该蓝牙连接请求时,所述仲裁器提示用户输入所述移动通信装置的PIN码。
根据本发明的一个实施例,在上述车载智能通信系统中,所述蓝牙通信装置包括:蓝牙免提及AT解析器,接收所述移动通信装置发送的AT命令并对该AT命令进行解析;以及电话状态机,剥离并管理所述蓝牙通信装置与所述车载电话装置。
根据本发明的一个实施例,在上述车载智能通信系统中,所述蓝牙通信装置进一步包括:用户接口,在所述蓝牙通信装置处于工作状态时展现用户接口界面,以提供交互操作功能;以及BT命令模块,基于所述AT命令封装所述蓝牙通信装置的接口。
根据本发明的一个实施例,在上述车载智能通信系统中,所述电话状态机进一步包括BT连接组件、BT呼叫组件、BT电话组件、BT呼叫追踪器以及BT呼叫通知器,其中所述BT呼叫追踪器跟踪所述蓝牙通信装置的状态。
根据本发明的一个实施例,在上述车载智能通信系统中,所述用户接口进一步包括BT呼入屏幕以及BT呼叫卡。
根据本发明的一个实施例,在上述车载智能通信系统中,所述BT呼叫通知器处理被动呼叫消息。
根据本发明的一个实施例,在上述车载智能通信系统中,所述蓝牙免提及AT解析器通过解析接收到的AT命令来判断当前蓝牙通信装置的状态,并由BT呼叫通知器处理状态变更消息。
根据本发明的一个实施例,在上述车载智能通信系统中,所述仲裁器根据所述车载电话装置和所述蓝牙通信装置的状态进行决策并处理两路通话的冲突。
应当理解,本发明以上的一般性描述和以下的详细描述都是示例性和说明性的,并且旨在为如权利要求所述的本发明提供进一步的解释。
具体实施方式
一种属于现有技术的原生电话应用已经实现了智能手机的基本电话功能。通过封装Phone Service标准接口,对外提供基本的Modem操作功能,并且通过RIL层管理网络通路和数据通路,对内适配各种不同模块AT指令。该原生电话应用一般包括以下基本模块:
Phone Apps:基于Phone Service封装的统一的,标准的接口开发不同的电话相关应用。
Phone Service:基于RIL层提供的Modem通讯接口,对外提供电话相关服务。Android中的Phone Application实现了对RIL层接口的封装。
RIL:Radio Interface Layer。本层为一个协议转换层,手机框架需要适应多类型的Modem接入到系统中,而对于不同的Modem有不同的特性。RIL则是将虚拟电话系统的标准功能转换成实际的所使用的Modem的AT指令。
AT指令:与Modem通讯的基本接口,不同模块的AT指令之间有差异。
图4和图5分别示出了一种现有技术的电话系统通信结构和电话应用模块结构。如图4所示,该电话系统通讯结构中,Phone Service与底层RIL-D之间通过SOCKET进行通讯。RIL-D建立AT通路,通过串口发送或接收AT命令,转换成内部消息,与上层RIL进行通讯。
在该结构中,将电话模块抽象为三个主要元素即:Connection,Call,Phone。它们之间的关系如下:
Connection:用于描述每次成功建立的具体的连接,同时可以存在多路连接,每个Connection代表一个链路。
Call:用于描述每次通话。通话有三种类型:RingingCall(未接通前),ForgegroundCall(已接通,正在通话),BackgroundCall(被HOLD住,处于后台)。在支持多方通话的手机上,这三种类型的Call可以共存。每种Call均会包含一个Connection列表,每个Connection建立后会和其中一种Call绑定,绑定关系可以变更,当Connection断开后解除绑定。因此,Call也可以看作是处于同一种状态的Conneciton的集合。CallTracker用于跟踪Connection的建立,与Call的绑定,Call状态的改变等等。一个Call有8种状态,即:IDLE/ACTIVE/HOLDING/DIALING/ALERTING/INCOMING/WAITING/DISCONNECTED。
Phone:用于描述具体的电话形态,包含当前的设备环境,上层服务,SIM卡状态等等。Phone有三种状态即:IDLE/RINGING/OFFHOOK。
如图5所示,该上层电话应用模块结构包括以下模块:
RIL/GSMPhone/...:底层电话服务模块,给上层提供访问具体电话服务的接口,并且通过消息上报机制将当前通话状态上报,可由上层电话应用模块获取并处理。
CallNotifier:注册电话状态监听器,监听底层电话服务模块上报的消息,通知电话应用的内部状态机。
PhoneApp:电话应用的核心。初始化电话模块,将底层上报的模块状态与应用的UI展现结合,通知UI模块做相应的界面显示;
PhoneUtils:封装电话服务接口。
InCallScreen:通话界面,可以根据当前Call的状态,显示相应的界面。
CallCard:显示头像,电话号码,姓名,通话时间等信息。
从上图可以看出,现有技术的电话应用大致有两条执行流程。
第一条:电话应用通过CallNotifier注册GSMPhone回调接口,获取电话状态,通知PhoneApp,调用相关接口获取更多电话相关信息,最后由InCallScreen和CallCard显示出来。
第二条:通过在InCallScreen上点击功能按钮,例如接通,挂断,通过调用GSMPhone封装的相关函数完成相应功能。
现在将详细参考附图描述本发明的实施例。
图1示意性地示出了根据本发明的车载智能通信系统的基本架构及应用环境的框图。如图1所示,本发明的车载智能通信系统100主要由车载电话装置101、蓝牙通信装置102以及仲裁器103构成。
车载电话装置101可以是任何现有技术的车载电话装置。该车载电话装置可以通过无线通信网络与外界通信。例如,该无线通信网络可以是当前热门的3G网络。实际上,已有的车载电话已能提供了WCDMA电话功能,且如图1所示,车载电话装置101可以经由无线通信网络105与一外部电话105进行电话通信。当然,虽然本申请文件中有时仅描述了电话通信,但可以理解,基于当前的信息技术,这类的电话通信也可以是数据通信的形式,本发明在这一方面并无特别的限制。
另一方面,车载智能通信系统100的蓝牙通信装置102可以经由蓝牙协议106与一同样支持蓝牙协议的移动通信装置107,例如手机,建立蓝牙连接。然后,用户就可以通过该车载智能通信系统100对该移动通信装置107进行控制,并可以通过该移动通信装置107连接到移动通信网络108。接着,用户就可以经由该移动通信网络108通信连接到外界的各种移动或固定通信设备,例如固定电话、移动通信终端、数据服务器等等。蓝牙通信装置102的功能只在蓝牙电话已成功连接的基础上提供。上述的功能例如包括:接听蓝牙电话、拒听/挂断蓝牙电话、忽略蓝牙电话、拨打蓝牙电话、将话音切换到手机、将话音切换回设备。
此外,本发明的车载智能通信系统100还包括一仲裁器103。该仲裁器103负责保持上述车载电话装置101和蓝牙通信装置102彼此互斥。换言之,仲裁器103将在车载电话装置101和蓝牙通信装置102之间择一进入工作状态。根据本发明的一个方案,当车载电话装置101处于工作状态时,仲裁器103将屏蔽移动通信装置102所接收的所有蓝牙连接请求;而车载电话装置101不处于工作状态且仲裁器103接收到移动通信装置102转来的蓝牙连接请求时,该仲裁器103可以提示用户选择是否接收该蓝牙连接请求。实际上,仲裁器103是根据车载电话装置101和蓝牙通信装置102的状态进行决策并处理两路通话的冲突。根据本发明的一个优选实施例,当用户选择接收该蓝牙连接请求时,仲裁器103还将进一步提示用户输入移动通信装置的PIN码。
接着,转到图2,图2示意性地示出了本发明的车载智能通信系统的蓝牙通信装置(例如,图1中的蓝牙通信装置102)的内部架构以及与蓝牙手机的通信连接关系。图2中,斜线部分组成蓝牙电话模块。如图所示,本发明的蓝牙通信装置102主要包括:蓝牙免提及AT(Attention,关注)解析器、电话状态机、用户接口和BT(Bit Test,位测试)命令模块。其中,上述的蓝牙免提及AT解析器通过解析接收到的AT命令来判断当前蓝牙通信装置的状态,并由以下将进一步提及的BT呼叫通知器处理状态变更消息。
在上述蓝牙通信装置中,蓝牙免提及AT解析器将接收移动通信装置,即图2中的蓝牙手机,发送的AT命令并对该AT命令进行解析。电话状态机用于剥离并管理该蓝牙通信装置与车载电话装置,例如图1中的车载电话装置101。用户接口当蓝牙通信装置处于工作状态时展现用户接口界面,以提供交互操作功能。BT命令模块则基于前述的AT命令封装蓝牙通信装置的接口,例如包含dial、acceptCall、rejectCall、hungup等命令接口。
一般,蓝牙免提用于将手机通话语音送到耳机,并且可以通过耳机来控制电话的拨打、接听、挂断等功能。在现有技术的原生电话应用里将Android设备当作一个手机实现了免提。但是,在本发明的车载智能通信系统需要反其道而行。车载终端作为耳机的角色,通过接收蓝牙手机状态,显示相应的通话界面,切换语音通路,并且提供交互式服务,可以通过车载终端对蓝牙手机进行操作。
根据需求,车载和蓝牙通话同时只能有一个存在(同时来电的情况除外),两者的通话状态会相互影响,因此这里需要设计一个仲裁器来管理这两路通话。
图3示意性地示出了本发明的蓝牙通信装置的一种架构。参考图3,图2中所示的电话状态机进一步包括BT连接组件、BT呼叫组件、BT电话组件、BT呼叫追踪器以及BT呼叫通知器。其中,BT呼叫追踪器跟踪蓝牙通信装置的状态,所述BT呼叫通知器处理被动呼叫消息。
此外,在图3中,用户接口可以进一步包括BT呼入屏幕以及BT呼叫卡。
综上,本发明增加了BT呼叫通知器来负责处理被动通知消息,如来电,连接断开等。此外,本发明还增加了BT连接、BT呼叫、BT电话等对蓝牙电话的抽象。增加BT呼叫追踪器用于管理跟踪蓝牙电话状态。图3所示的电话应用程序PhoneApp,作为一个仲裁器,可以根据车载电话和蓝牙电话状态进行决策,以及两路通话的冲突处理。此外,图3所示的PhoneUtil封装了电话模块常用函数,如拨打、挂断、接听等操作。最后,本发明还增加了BT呼入屏幕和BT呼叫卡模块。它们根据当前电话系统状态(车载电话、蓝牙电话)来切换不同的界面。在BT呼入屏幕上点击功能按钮,如接通、挂断,可以通过调用上述的蓝牙免提所封装的相关函数完成相应功能。
本领域技术人员可显见,可对本发明的上述示例性实施例进行各种修改和变型而不偏离本发明的精神和范围。因此,旨在使本发明覆盖落在所附权利要求书及其等效技术方案范围内的对本发明的修改和变型。