具体实施方式
下面将详细地参考如附图所示的本发明的示意实施例。在可能的情况下,附图中的各个部分提到的相同或相似的部分将采用相同的参考标记。
图1A示出了包括了所披露实施例的某些方面的示意的通信环境100。如图1所示,通信环境100包括核心网102、公共交换电话网(PSTN)104、语音中继装置110和移动终端120。语音中继装置110和移动终端120可以作为室内环境106。所提及的部件的类型和数量是为了举例的目的而示出。实施时可以使用任意数量的所列部件,也可以包括其他部件。
核心网102可以由网络运营商管理,以管理数据和语音的网络操作。核心网102与多个接入网连接,以将来自一个接入网的呼叫请求或数据请求连接到另一个接入网,从接入网接收上行信号,并向接入网发出下行信号。
PSTN104可以包括任意合适的提供基于陆行通信的合适的电话网或固话网络。PSTN104可以从语音中继装置110和移动终端120接收上行信号,并将该上行信号传送至核心网102和相应的接入网。PSTN104还能够接收由核心网102发出的用于语音中继装置110和移动终端120的下行信号,并将该下行信号传送至语音中继装置110和移动终端120。
进一步地,室内环境106可指任意合适的室内或楼内的小型或短距离无线网络,以提供改进的无线通信。语音中继装置110和移动终端120可以在一个短距离无线链接例如蓝牙通信链接上相互通信。其他无线链接也可以使用于室内环境106中。短距离无线技术可以指用在和用户近距离的地方例如住房、小办公室、以及楼房的无线技术。比如,蓝牙无线技术可用在10米或100米的距离通信。短距离无线链接还可包括基于合适短距离的无线频谱的无线链路,如基于工业,科学和医疗(ISM)无线频段的无线链路。语音中继装置110为移动终端120执行某些接收和发送功能,以便使来自移动终端120的天线的辐射可以显著减少。因为语音中继装置110是通过无线链接和移动终端120进行通信并处理语音以及其他数据,语音中继装置110也可被称为无线中继装置110。一个无线中继装置除了支持语音通信外,还支持其它类型的通信,如短信、视频或多媒体通信。进一步地,语音中继装置110和移动终端120也可构成一个无线通信系统。
图1B示出了包括了所披露实施例的某些方面的示意的通信环境160。通信环境160和图1A中的通信环境100相类似。如图1B所示,核心网102连接到无线网164(比方说蜂窝无线网络)而不是按图1A那样连接到公共交换电话网(PSTN)104。通信环境160包括了核心网102、无线网164、语音中继装置110和移动终端120。语音中继装置110和移动终端120可以作为室内环境106。这里所提及的部件的类型和数量是为了举例的目的而示出。实施时可以使用任意数量的所列部件,也可以包括其他部件。
无线网络164可以是任何移动通信网络。例如,无线网164可以是GSM、CDMA、或UMTS无线蜂窝网络。无线网164可收到来自语音中继110和移动终端120的上行信号并将上行信号传送至核心网102和相应的接入网。无线网164还能够接收由核心网102发出的用于语音中继装置110和移动终端120的下行信号,并将该下行信号传送至语音中继装置110和移动终端120。
图2A示出了示意的语音中继装置110的框图。如图2A所示,语音中继装置110可以包括电话模块202、语音接口204、控制接口206、蓝牙模块208、电话接口210和射频(RF)接口214。此外,可选地,语音中继装置110可以包括用户识别模块(SIM)卡212。在某些实施例中,可选地,也可为控制语音中继装置110提供独立的处理器(未示出),或者独立处理器的功能也可以并入电话模块202和/或蓝牙模块208中。
电话模块202可以包括配置为能够与电话网通信的任意合适的部件,例如PSTN网104或无线网164。电话模块202可以通过电话接口210与PSTN网104或无线网164通信,从PSTN网104或无线网164接收通信信号,并将通信信号发送至PSTN网104或无线网164。当电话模块202配置为与PSTN网104通信时,电话接口210可以是一个PSTN接口,比如一个电话插座装置。另一方面,当电话模块202配置为与无线网164通信时,电话接口210可以是一个无线接口,比如一个天线装置。
此外,电话模块202可能包括只能与PSTN网104通信的组件,或包括只能与无线网164通信的组件,或可能包括有能力同时和PSTN网104以及无线网164通信的组件。当电话模块202有能力同时和PSTN网104以及无线网164通信时,电话模块202可能包括PSTN网接口和无线网接口。并且用户可以选择其中一个接口来使用。
蓝牙模块208耦合在电话模块202和移动终端120之间,以接收来自电话模块202和移动终端120的语音和控制数据,并将语音和控制数据发送给电话模块202和移动终端120。例如,蓝牙模块208可根据蓝牙通信标准,经由RF接口214从移动终端120接收语音和控制数据,并可将接收的语音和控制数据解析为电话模块可识别的通信信号。相似地,蓝牙模块208可由语音接口204和控制接口206分别接收来自电话模块202的语音和控制数据,并可将接收的语音和控制数据解析为用于移动终端120的蓝牙标准。
此外,语音中继110可以是配置为便携式,尤其是与无线网164通信时。例如,语音中继装置110可配置为,使语音中继装置110可以在不同的地点摆放而不需要拔下电缆或外部链接。或语音中继装置110在正常运作时可能是由一个用户所随身携带。
图2B示出了一种示意的蓝牙模块208的框图。如图2B所示,蓝牙模块208包括蓝牙芯片222、存储器224、接口226、天线单元228、显示器230、键盘232、语音接口234,例如脉冲编码调制(PCM)接口,和串行接口236,例如通用异步收发器(UART)接口。
蓝牙芯片222可包括任意合适的具有RF处理、基带处理和蓝牙协议处理能力的单片机或微控制单元,以使能语音中继装置110和移动终端120之间的蓝牙通信。存储器224可包括例如用于存储计算机程序和数据库信息的闪存(FlashMemory)装置的任意合适的存储装置。进一步地,接口226可包括例如UART串口和PCM总线的任意合适的接口装置。蓝牙模块208经由使用语音接口234和/或串行接口236的接口226与电话模块202通信。也可采用其他接口或装置。
键盘232可包括为用户配置语音中继装置110以及将某些信息输入语音中继装置110中的任意合适的键盘。显示器230可包括例如发光二极管(LED)显示器或LCD显示装置的任意合适的装置,以向用户显示或指示信息。
图2C示出了一种示意的电话模块202的框图。如图2C所示,电话模块202包括语音电路244、控制器242、存储器248、串口246和电源250。电源250可包括用于向电话模块202及可选地向语音中继装置110提供电源的任意合适的电源。尽管图示的电源250放置在电话模块202中,电源205也可放置在蓝牙模块208或语音中继装置110中。
控制器242可包括用于提供电话模块202的控制功能的任意合适的控制器。存储器248可包括与存储器224类似的任意合适的存储装置,并可与存储器224一样用于存储计算机程序和其它信息。语音电路244可包括实现通过电话接口210接收输入呼叫和拨打输出呼叫,并通过语音接口234提供去往/来自蓝牙模块208的双向PCM数据流等功能的任意合适的电路。进一步地,可在电话模块202中提供串口246,以便经由串行接口236与蓝牙模块208通信。
在实施时,多种控制模块,例如蓝牙芯片222、控制器242和移动终端120中相似的控制模块,可以在任意合适的处理硬件和/或软件中实现。图3示出了用于实现多种控制模块的示意计算机处理系统300。
如图3所示,处理系统300可包括处理器302、随机存取存储器(RAM)单元304、只读存储器(ROM)单元306、通信接口308和输入/输出接口单元310。当然,在实施中还可添加其它部件及删除某些装置。
处理器302可包括任意合适的图形处理单元(GPU)、通用微处理器、数字信号处理器(DSP)或微控制器,以及专用集成电路(ASIC)等等。处理器302也可包括用于提供基于特定用途的特定功能的处理单元。进一步地,处理器302可执行计算机程序指令序列,以执行与处理系统300有关的多种处理。计算机程序指令可从只读存储器306装载到RAM304中,由处理器302执行。
通信接口308可提供通信链接,以便处理系统300可被遥控接入和/或经由多种通信协议通过计算机网络或其它通信网络与其他系统通信,所述通信协议可以是例如传输控制协议/网际协议(TCP/IP)、超文本传输协议(HTTP),等等。
输入/输出接口310提供给用户以向处理系统300输入信息,或提供给用户以接收来自处理系统300的信息。例如,输入/输出接口310可包括任意合适的输入装置,例如遥控装置、键盘、鼠标、电子图形输入板(electronic tablet)、语音通信装置、或任意其它光学或无线输入装置。输入/输出接口310也可包括任何适当的输出设备,如用于显示某些信息给用户的显示屏幕、播放的铃声或其他语音通知用户的扬声器、或其他类型的显示装置(如LED)。
回到图1,移动终端120可包括任意市场上现有的或定制的蜂窝电话、智能电话、手写板、记事本,或任意类型的具有蜂窝或其它无线能力的便携处理装置。图4A示出了一种示意的移动终端120的框图。
如图4A所示,移动终端120可包括音频编解码器(CODEC)402,该编解码器可包括混合器(MIX)406和复用器(MUX)404。麦克风408和扬声器410耦合到音频CODEC402上。移动终端120还包括蓝牙芯片414和主处理器416。天线412可耦合到蓝牙芯片414,以提供RF功能,音频CODEC402耦合到蓝牙芯片上以提供音频信道422。音频CODEC402也可耦合到主处理器416。
音频CODEC402可经由多种接口类型耦合到主处理器416和/或蓝牙芯片414,例如模拟接口、PCM接口、I2S(inter-IC-sound)接口、PDM接口。进一步地,主处理器416和蓝牙芯片414通过串口418和420耦合。更特别地,串口418可以是控制信道,且串口420可以是数据信道。串口418和串口420也可以是单独或多个物理串行接口的逻辑接口,物理串行接口可以包括例如UART,SPI,或USB接口。当然在实施时也可采用其他配置方式。
主处理器416可为移动终端120提供控制和数据功能。主处理器416可包括任意合适的处理器,例如处理系统300的处理器302。麦克风408可包括一个或多个合适类型的麦克风,并可从移动终端120的用户处接收语音信号,以及将语音信号发送至音频CODEC402进行处理,处理后的语音信号可根据不同的应用类型提供给蓝牙芯片414或主处理器416。相似地,音频CODEC402也可从蓝牙芯片414和/或主处理器416处接收语音数据,并将接收的语音数据转换为用于扬声器410的语音信号。扬声器410可包括一个或多个合适类型的扬声器,并可从音频CODEC402处接收语音信号以产生声音。
进一步地,蓝牙芯片414或类似的无线模块可提供任意合适的蓝牙通信模块功能,以处理语音中继装置110和移动终端120之间的短距离无线通信,包括主控接口(HCI)功能。主处理器416可基于某些协议通过串口418控制蓝牙芯片414。软件程序可由主处理器416和/或蓝牙芯片414执行,以实现移动终端120的功能,从而确保能够通过语音中继装置110在移动终端120上实现语音通信。
进一步地,移动终端120也可包括无线蜂窝单元,用于使用无线蜂窝网络通信,例如WCDMA、CDMA、GSM、WiMAX和LTE,等等(未示出)。例如,移动终端120可以是定制的移动终端或有蓝牙功能的现成移动终端产品加上双模应用程序改装,或一般的现成移动终端产品加上蓝牙功能和双模应用程序的改装。
图4B示出了一种示意的双模移动终端120的框图。如图4B所示,双模移动终端120包括主处理器416和无线蜂窝模块424。主处理器416控制移动终端120的整体运作。无线蜂窝模块424耦合到主处理器416和执行无线通信操作,如通过无线网络或无线蜂窝网164发出和接收语音呼叫、文本信息和多媒体信息。此外,可选的,双模移动终端120可以包括用户识别模块(SIM)卡432和无线蜂窝模块424或主处理器416相耦合。
双模移动终端120还包括蓝牙模块414(蓝牙芯片414以及相关部件)、显示单元428、存储单元426、以及输入单元430。蓝牙模块414可耦合到主处理器416并与外部具有蓝牙功能的设备根据蓝牙协议进行通信(例如,语音中继110)。本文中,移动终端120双模式操作可指一个蜂窝通信模式和一个短距离无线通信模式(例如蓝牙)。其他操作模式也可使用。
显示单元428可显示操作状态、操作结果、以及移动终端120的各种其他信息。显示单元428可包括液晶显示器(LCD)或有机发光二极管(OLED)并由主处理器416控制。输入单元430耦合到主处理器416来输入信号以控制移动终端120的运作。输入单元430可能包括键盘、触摸屏、触摸垫以及滚轮等。
语音单元434也可以被包括在内并耦合到主处理器416来将麦克风408的模拟音频信号转换成数字信号,或将数字音频信号转换成模拟音频信号并通过扬声器410发出声音。此外,存储单元426可耦合到主处理器416以存储有关菜单、配置信息、以及至少一个为移动终端120操作的双模应用程序。这种双模应用程序可能会根据一定的标准来决定是否使用蓝牙模块414或无线蜂窝模块424进行语音通信,这些标准包括,例如语音中继装置110的可用性、蓝牙信号的强度、以及管理政策等。
图5示出了与披露的实施例相一致的移动终端120内部的示意语音和音频路径。如图5所示,语音/音频路径可直接建立在蓝牙芯片414以及扬声器410和/或麦克风408之间,途经音频CODEC402(如音频CODEC402内部的双箭头实线所示)。即,音频CODEC402直接支持来自蓝牙芯片414的语音数据格式。
可选地,语音/音频路径可建立在蓝牙芯片414以及扬声器410和/或麦克风408之间,途经主处理器416和音频CODEC402(如双箭头虚线所示)。在这种配置方式中,来自音频CODEC402去往蓝牙芯片414,和来自蓝牙芯片414去往音频CODEC402的语音数据由主处理器416中继。在这种配置方式中,蓝牙芯片414和音频CODEC402之间的直接语音/音频路径可以不用或是不必要的。
移动终端120也可以包括用于通过使用无线蜂窝模块424通信的音频/语音路径。语音/音频路径可直接建立在无线蜂窝模块424以及扬声器410和/或麦克风408之间,途经音频CODEC402(如音频CODEC402内部连接无线蜂窝模块424的双箭头实线所示)。即,音频CODEC402直接支持来自无线蜂窝模块424的语音数据格式。其他配置也可以在此使用。
图6示出了与披露的实施例一致的移动终端120的示意结构图。如图6所示,移动终端120可通过分为不同功能层的硬件和软件实现。例如,移动终端120的硬件和软件层可包括Java应用层632、Java框架层634、本地框架层636、操作系统内核空间638和硬件层640。
硬件层640可包括具有用于移动终端120的某些功能的实际的硬件装置,例如CODEC402、麦克风408、扬声器410、蓝牙芯片414和天线412,等等,也可包括其它装置。进一步地,蓝牙芯片414可经由某个音频接口直接或间接地耦合至CODEC402。
操作系统内核空间638可包括任意合适的操作系统(OS)部件,例如高级Linux声结构(ALSA)驱动程序、串口驱动程序,等等。可使用任意OS,例如Linux、Android、Windows等等。进一步地,本地框架层636可包括在OS上运行的任意合适的OS特定软件框架,例如音频引擎606,和无线电接口层进程(RILD)618,点对点协议(PPP)进程620。
Java框架层634可包括用于在本地框架层636上运行的移动终端120的任意合适的Java软件环境,例如音频服务604,通话和PDP连接614,PPP链接616。进一步地,Java应用层632可包括用于移动终端120的任意合适的应用程序,例如音频程序602,及提供通话以及其它通信相关功能的应用程序612。
进一步地,移动终端120的框架的不同层可协作完成一项或多项特别的任务。例如,音频程序602可向移动终端120的用户提供某些音频功能,例如音频重放或语音通信。音频程序602可通过音频服务604提供这些音频功能,所述音频服务604依次使用音频引擎606,ALSA驱动程序608,和CODEC402执行这些功能。
同样,例如,可向用户提供应用程序612来用于某些语音和/或数据功能,如产生电话呼叫或文本通信。应用程序612可使用通话和PDP链接614,PPP链接616,RILD进程618、PPPD进程620、串口驱动程序622、蓝牙芯片414和天线412提供那些功能。通话和PDP链接614和RILD进程618可用于语音应用,PPP链接616和PPPD进程620可用于数据应用。应用程序612也可使用音频程序602和其它相关层。
更特别地,移动终端120可使用某些蓝牙Profile提供服务。例如,移动终端120可使用串口Profile(SPP)提供多种服务,例如语音数据服务。SPP服务可产生一个或多个链接到语音中继装置110的虚拟串行装置,以建立语音和/或数据通信。又例如,移动终端120也可使用头戴式Profile(HSP)提供多种服务,例如语音服务(未示出)。
例如,RILD618可从其它层接收控制数据,并可使用一个或多个虚拟串行装置,将控制数据发往语音中继装置110。RILD618可使用标准调制解调器指令,例如AT指令,来经由语音中继装置110建立和/或执行语音通信。标准调制解调器指令包括任何通常使用的或按标准使用的制解调器指令。在某些实施例中,RILD618可接收多种请求,例如来自上层的用于电话呼叫,文本消息,或PDP链接的请求。在接收到这些请求之后,RILD618可将请求解析为可被其它通信部件识别的AT指令,所述通信部件包括例如电话模块。同时,RILD618可以建立同步面向连接(SCO)链路、扩展的同步面向连接(eSCO)链路或其他链路以向语音中继装置110传送语音信号。PPPD620可执行与RILD618相似的功能以提供控制和/或数据服务。
在反方向上,语音中继装置110收到和同步面向连接(SCO)链路、扩展的同步面向连接(eSCO)链路或其他链路的语音数据相关的控制数据,并可通过一个或多个虚拟串行装置将目的地为移动终端120的控制数据发往移动终端120。RILD618可从一个或多个虚拟串口装置接收发来的控制数据,并可进一步地将接收的控制数据发送给相应的层或应用。在某些实施例中,RILD618可接收对应于电话呼叫,文本消息,或PDP链接的AT指令。同时,RILD618可以建立同步面向连接(SCO)链路、扩展的同步面向连接(eSCO)链路或其他链接以便从语音中继装置110接受语音信号。PPPD620可执行与RILD618相似的功能以提供控制和/或数据服务。
回到图1,语音中继装置110可通过一个短距离无线链接和移动终端120进行通信。图7A示出了移动终端120和语音中继装置110间的示意蓝牙协议栈的分层结构。
如图7A所示,语音中继装置110在蓝牙无线链接的一侧而移动终端120在蓝牙无线链接的另一侧。在蓝牙协议栈顶层是应用层736。应用层736可包括任何适当的数据和软件,以实现通过蓝牙无线链接的某些功能,例如,呼叫处理程序来拨打或接听电话。应用层736可使用较低层的服务发现协议(SDP)720来搜索或发现其他蓝牙设备,如语音中继110,提供的某些服务,或应用层736可使用射频通信协议(RFCOMM)722提供的数据服务。
尤其是,在与应用层736相关的通话处理过程中,呼叫信令链路730可以建立在移动终端120和语音中继装置110之间,具体在RFCOMM层722,以交换呼叫控制信息。此外,信令链路730也可实现在移动终端120和语音中继装置110之间的L2CAP层718。
此外,语音链路738可建立在移动终端120和语音中继装置110之间以传输语音通信。语音链路738可以实现在蓝牙基带层734。而链路管理协议(LMP)层732则可用于基带无线链路控制。
图7B示出了对应于图6移动终端120的语音中继装置110的示意框架图。如图7B所示,语音中继装置110也可通过分为不同功能层的硬件和软件实现。例如,语音中继装置110的硬件和软件可包括硬件层740、协议层742、Profile层744和系统层746。列出这些层仅用于说明性的目的,实施当中也可以包括其它层,如多种OS层和其他结构和程序层。
硬件层740可包括具有用于语音中继装置110的某些功能的实际的硬件装置,例如蓝牙芯片222,天线单元228和电话模块202,等等,也可以包括其它装置。进一步地,蓝牙芯片222可与移动终端120通信,并可耦合至电话模块202,从而经由电话模块202建立将来自移动终端120的某些语音数据发往核心网102的语音链接,该电话模块202可包括一个或多个有线或无线通信链接。
协议层742可包括任意合适的协议部件,例如主控接口(HCI)协议716,逻辑链路控制及适配协议(L2CAP)718,服务发现协议(SDP)720,和射频通信协议(RFCOMM)722等。当然还可包括其它协议。进一步地,Profile层744可包括语音中继装置110提供的多种蓝牙服务Profile,例如通用接入Profile(GAP)710,头戴式Profile(HSP)或免提Profile(HFP)(HS/HFProfile)712、串口Profile(SPP)714,等等。另外,在多种Profile和协议之间可执行某些登记处理。
进一步地,系统层746可包括任意合适的部件,以将系统级服务提供给其它部件或语音中继装置110,例如系统控制单元702、语音链接控制单元704、中继单元706,等等。系统控制单元702可控制系统的其它部件,例如GAP Profile710,语音链接控制单元704,和中继单元706,从而使能系统操作。语音链接控制单元704可控制与语音中继装置110的语音链接相关的部件,中继单元706可耦合至串口226,以将接收的来自蓝牙芯片222的数据发往电话模块202,而不必进一步地译码或解析。即,中继单元706实现了不必解析而发送接收的控制和/或语音信号的语音中继装置110的透传模式。相反地,中继器707可将从无线模块202接收的数据经由串行接口226发往蓝牙芯片222。串口226可包括任意合适的串口,并可耦合至电话模块202的数据/控制接口238。
图8示出了与披露的实施例一致的移动终端120的另一个示意结构图。如图8所示,移动终端120可与图6类似地使用相同部件实现。图8中的实现与图6中的实现之间的区别在于,在图8的实现中使用了新的RILD进程818。
RILD818可使用连接到语音中继装置110的一个或多个虚拟串行装置建立数据通信。即,RILD818可从其它层接收控制数据,并可使用一个或多个虚拟串行装置将控制数据发往语音中继装置110。同时,RILD818可以建立与语音中继装置110的SCO链路、eSCO链路或其他链路进行语音通信。进一步地,RILD818可在移动终端120和语音中继装置110之间使用个性化的或自定义的接口语言,称为抽象电话协议(ATP),来实现通信。因为ATP仅在移动终端120和语音中继装置110之间共享,从而建立和/或执行语音通信,与语音通信有关的其它系统(例如,核心网102)不能理解ATP指令。更进一步地,语音中继装置110内的电话模块202也可能不理解ATP指令并需要解析。
ATP可包括两类指令。第一类包括请求指令,即,来自移动终端120的多种请求,例如用于拨号或PDP链接的请求。第二种包括响应指令,即,来自语音中继装置110的、用于答复来自移动终端120的请求以及来自网络侧的请求的多种响应。网络侧可指PSTN网络104、或无线网164或核心网102的装置或软件部件。进一步地,来自语音中继装置110的、答复来自移动终端120的多种请求的多种响应可被称为正常响应(NR);来自网络侧的请求可被称为自发响应(UR)。另外,也可使用其它类型的指令。
ATP指令可包括一系列ASCII字符,例如以“ATP”开头的字符。图9示出了用于ATP请求(ATPQ)的示意的ATP指令。如图9所示,ATPQ指令包括多个指令子类,例如SIM卡指令、通话指令、SMS指令、登记指令、其它指令和扩展指令。还可包括其它类型的指令。
每个子类可包括一系列具体的ATP指令。例如,ATPQ_CAL子类可包括的ATP指令可以是呼叫建立请求(ATPQ_CAL_DIAL)、挂断请求(ATPQ_CAL_HANG)、呼叫等待请求(ATPQ_CAL_WAIT)、呼叫保持请求(ATPQ_CAL_SWITH_WAIT)、呼叫发送请求(ATPQ_CAL_FORWARD)、呼叫静音请求(ATPQ_CAL_MUTE)和呼叫历史请求(ATPQ_CAL_LAST),当然还可包括其它的指令。
进一步地,ATP指令也可包括用分隔符(例如,“#”)从指令部分隔开的一个或多个参数。例如,呼叫建立请求可以是ATPQ_CAL_DIAL#65478898。还可使用其它格式。
图10示出了用于正常ATP响应(ATPR)的示意ATP指令。如图10所示,ATPR指令也包括多种响应子类,例如通用回应、SIM卡响应、通话响应、SMS响应、登记响应、其它响应和扩展响应。通用回应用于返回对应于一般请求的执行状态。例如,ATPR_GEN_OK可指示成功执行了一个请求,ATPR_GEN_FAIL可指示请求执行失败,并跟随特定的差错码和差错信息,例如ATPR_GEN_FAIL#E10223#NO_SIM_CARD;ATPR_GEN_ERR可指示请求不能译出或请求包含错误。进一步地,其它ATPR指令子类可答复特殊的请求,也可包括响应于所述特殊请求的详细参数。
图11示出了用于自发ATP响应(ATPU)的示意的ATP指令。如图11所示,与图9类似地,ATPU指令也包括多种响应子类,例如SIM卡响应、通话响应、SMS响应、登记响应、其他响应以及扩展响应。然而,这些响应来自网络侧,且并不答复任何来自移动终端120的请求。
正如之前解释的那样,当移动终端120使用ATP建立通信,语音中继装置110可对ATP指令进行解析。图12示出了另一种与披露的实施例相一致的语音中继装置110的示意框架。图12中的实现方式与图7中的实现方式类似。然而如图12所示,与图7的实现方式不同的是,语音中继装置110可包括单独的解析单元1202。
解析单元1202可耦合至中继单元706,以接收来自移动终端120的ATP指令,并将ATP解析为可由网络侧的电话模块202以及其它通信装置识别的其它格式,例如标准调制解调指令。解析单元1202也可以耦合至串口226,从而将已解析的指令发往电话模块202。
相反地,解析单元1202可从电话模块202接收指令或响应,并将接收到的指令或响应解析为ATP指令,将解析后的ATP指令通过中继单元706发往移动终端120。即,语音中继装置110可工作在解析模式上。
另一方面,在操作中,移动终端120可使用的一种具体的操作模式,例如透传模式操作,或解析模式操作。图13示出了与披露的实施例相一致的用于解析模式操作的RILD818示意功能框图。
如图13所示,新RILD818可包括readerloop1302、eventloop1304、套接字1320、串行装置1330。RILD818可从上层接收请求,并将响应经由套接字1320发往上层。eventloop1304可包括能处理与套接字1320交互的任意合适的软件程序。例如,eventloop1304可包括接收来自上层的多种请求的请求处理程序1308,以及用于等待接收来自语音中继装置110响应的等待正常响应1310。
进一步地,readerloop1302可耦合至串行装置1330,以接收来自语音中继装置110的响应,例如正常响应(NR)和自发响应(UR)。readerloop1302可包括NR和UR处理程序1306,以处理从语音中继装置110接收的正常响应和/或网络侧接收的自发响应。
更特别地,如图14所示,NR和UR处理程序1306可包括解析ATP响应1406,以解释接收的响应。如果接收的响应是ATP UR,NR和UR处理程序1306或解析ATP响应1406可将接收的ATP UR进行解析后直接通过套接字1320发往上层。另一方面,如果接收的响应是ATP NR,NR和UR处理程序1306或解析ATP响应1406可将接收的ATP NR发往eventloop1304,由等待正常响应1310进行处理ATP NR。处理后的ATP NR可由event loop1304经由套接字1320发往上层。
回到图1,不管是使用AT指令或ATP指令,语音中继装置110通过和移动终端120耦合来支持移动终端120上的远程人机界面操作。另外,语音中继装置110和移动终端120在执行某些通信功能期间可互相交互。图15示出了由语音中继装置110和移动终端120执行以实现语音通信的示意操作流程1500。
如图15所示,开始时,语音中继装置110和/或移动终端120可启动和初始化包括蓝牙功能的系统设置(1502)。例如,语音中继装置110可配置为与允许连接到语音中继装置110的移动终端120相一致。这样的配置可包括移动终端120的某些信息,例如蓝牙设备号、蓝牙终端在管理网关内的编号、服务接入码(向网络侧登记进行双模话务切换的号码前缀)、配对默认密码(例如,1234)和蓝牙终端登陆状态,等等。另外也可包括其它信息和配置。
为了便于操作,这样的配置信息可存储在语音中继装置110的数据库中。进一步地,语音中继装置110可使能蓝牙并将蓝牙设为可见,或可将蓝牙配置为默认可见。移动终端120被使能后,移动终端120和语音中继装置110可建立蓝牙链接(1504),语音中继装置110可登记移动终端120用于接入(1506)。图16示出与披露的实施例相一致的示意连接流程1600。
如图16所示,开始时,移动终端120可将特定值t0赋予延时参数t(1602)。t0值可以是预设的,或在运行期间确定。移动终端120随后可执行蓝牙搜索,以搜索语音中继装置110(1604),并确定是否搜索到语音中继装置110(1606)。
如果移动终端120确定未搜索到语音中继装置110(1606,否),移动终端120可将延时参数t值翻倍(1608)。进一步地,移动终端120可确定延时参数t的值是否超出了预定的最大延时参数值tmax(1610)。如果移动终端120确定了延时参数的值大于tmax(1610,是),移动终端120可确定登记失败,连接流程1600终止。如果移动终端120确定延时参数t的值不大于tmax(1610,否),移动终端120可延迟由延时参数值确定的时间量,并返回至1604再次搜索语音中继装置110。
另一方面,如果移动终端120确定找到了语音中继装置110(1606,是),移动终端120可与语音中继装置110配对,并连接至语音中继装置110(1612)。移动终端120和语音中继装置110可以采用某些方式相互交互,以相互配对和相互连接。图17示出了与披露的实施例相一致的示意的配对流程1700。
如图17所示,移动终端120可确定移动终端120和语音中继装置110之间是否已经存在RFCOMM会话(1702)。如果不存在RFCOMM会话(1702,否),移动终端120可将L2CAP链接请求发送至语音中继装置110(1704)并阻塞直到从语音中继装置110接收到响应(1706)。从语音中继装置110接收到响应之后,移动终端120可将L2CAP配置请求发送至语音中继装置110(1708),并阻塞直到从语音中继装置110接收到应答(1710)。在接收到应答之后,移动终端120转到步骤1712。接着移动终端120可发送设置异步平衡模式(SABM)帧至语音中继装置110,以请求RFCOMM连接(1712);设置异步平衡模式(SABM)帧是一种用于在初始站和二级站之间建立逻辑链接,并通知二级站使用的操作模式的未编号帧。移动终端120也可启动定时器,并等待来自语音中继装置110的响应(1712)。至此,RFCOMM会话建立,转到步骤1716协商建立通道。
另一方面,如果已存在RFCOMM会话(1702,是),则直接转到步骤1716协商建立通道。进一步地,移动终端120可确定语音中继装置110是否接受了RFCOMM连接(1714)。例如,如果移动终端120确定了语音中继装置110没有接受RFCOMM连接(1714,否),移动终端120可返回1712重新发送SABM帧。
另一方面,例如当语音中继装置110发回未编号的应答(UA)帧至移动终端120以确认RFCOMM连接时,移动终端120可确定语音中继装置110接受了RFCOMM连接,并进入RFCOMM连接的异步平衡模式(ABM)(1714,是)。
即,如果移动终端120确定了语音中继装置110接收了RFCOMM连接(1714,是),移动终端120和语音中继装置110可进一步协商建立通道(1716)。图18示出了移动终端120和语音中继装置110之间的示意的协商流程1800。
如图18所示,开始时,语音中继装置110可进入ABM模式,并将UA帧返回给移动终端120以应答连接(1802)。进一步地,移动终端120和语音中继装置110进入协商步骤(1804)。语音中继装置110可发送参数协商(PN)帧至移动终端120,并等待来自移动终端120的响应(1806)。
移动终端120从语音中继装置110接收PN帧,检查PN帧中的参数,并发回新的PN帧以响应语音中继装置110(1808)。可选地,移动终端120和语音中继装置110可执行安全的配对流程,以保证移动终端120和语音中继装置110之间所建链接的安全性(1810)。例如,移动终端120和语音中继装置110可使用安全简单配对(SSP)机制,以执行安全的配对流程,并可在安全配对流程中使用存储的配对密码。另外也可使用其它配对机制。
安全配对后,移动终端120可发出显示接受了移动终端120和语音中继装置110之间的通信信道的UA帧(1812)。进一步地,移动终端120和语音中继装置110可使用调制解调状态指令(MSC)帧协商通信信道参数(1814)。任意合适的信道参数均可协商。信道参数协商后,移动终端120和语音中继装置110之间的通信信道建立,并为用户做好准备(1816)。
如果在特定环境下,例如超时事件或其它事件下,不管移动终端120或语音中继装置110均可确定断开移动终端120和语音中继装置110之间的链接,移动终端120或语音中继装置110可分别将断开(DISC)帧发送至语音中继装置110或移动终端120。在接收了DISC帧之后,移动终端120或语音中继装置110可终止已建立的链接,并释放相关资源。如果所有的数据链接衔接标识(DLCI)的数据链接均已断开,移动终端120或语音中继装置110可断开相互间的任意控制信道,并可断开移动终端120和语音中继装置110之间的L2CAP链接。
回到图17,在协商建立通道(1716)后,配对流程1700完成。
回到图16,在移动终端120配对并连接到语音中继装置110(1612)后,移动终端120可请求登记到语音中继装置110(1614)。在接收了来自移动终端120的登记请求之后,语音中继装置110可查找登记数据库(1616)以确定请求的移动终端120是否在登记列表中(1618)。登记数据库可以包括允许在语音中继装置110上登记的多个移动终端的信息。
如果语音中继装置110没有在登记列表中发现请求的移动终端120(1618,否),语音中继装置110可判定该登记失败,连接流程终止。另一方面,如果语音中继装置110在登记列表中发现了请求的移动终端120(1618,是),语音中继装置110可向请求的移动终端120返回登记成功的指示(1620)。进一步地,语音中继装置110和移动终端120可为正常操作切换角色(1622)。即,如果语音中继装置110不是蓝牙通信的主设备而移动终端120是主设备,移动终端120可与语音中继装置110切换角色,从而使语音中继装置110为蓝牙通信的主设备,这就是正常操作的情形。
回到图15,在移动终端120和语音中继装置110建立了蓝牙链接(1504),以及语音中继装置110登记了移动终端120用于接入(1506)之后,移动终端120可向来自网络侧的外部装置发起语音通信(1508)。图19示出了与披露的实施例相一致的示意的发出呼叫流程1900。
如图19所示,开始时,移动终端120决定向特定的电话号码发起一个发出呼叫(1902)。举例来说,移动终端120的用户可使用图形用户界面(GUI),如电话键盘界面或相似的GUI,通过输入被叫的电话号码产生呼叫。用户产生呼叫后,移动终端120可向用户指示已产生了呼叫。进一步地,如之前所解释的,移动终端120可以尝试与语音中继装置110连接(1904)。
移动终端120可进一步确定与语音中继装置110的连接是否成功(1906)。如果移动终端120确定了与语音中继装置110的连接不成功(1906,否),移动终端120可使用蜂窝电话接口,如WCDMA、CDMA、GSM、WiMAX或LTE接口来产生发出呼叫(1908)。
另一方面,如果移动终端120确定了与语音中继装置110的连接是成功的(1906,是),移动终端120可以在异步面向连接逻辑(ACL)传输信道上建立信令链接,并在同步面向连接(SCO)信道上建立语音链接(1910)。当然也可采用其它配置。
进一步地,移动终端120可在建立的信令链接上将被呼叫号码以及其它呼叫相关信息发往语音中继装置110(1912)。如前所述,移动终端120可支持透传工作模式和解析工作模式并基于语音中继装置110的操作模式使用AT指令或ATP指令。例如,如果语音中继装置110工作在透传模式下,则移动终端120使用AT指令;如果语音中继装置工作在解析模式下,则移动终端120使用ATP指令。
语音中继装置110可使用电话模块202产生发出呼叫,并可以向移动终端120发送振铃音(1914)。语音中继装置110可确定电话呼叫是否连接上(1916)。如果语音中继装置110确定了呼叫没有被连接(1916,否),语音中继装置110可在信令链接上,将连接失败通知到移动终端120(1918)。语音中继装置110也可发送失败原因,例如占线或未开机,等等。移动终端120可在GUI上向用户显示呼叫失败以及失败原因(1920)。进一步地,移动终端120可关闭信令链接和语音链接(1934)。
另一方面,如果语音中继装置110确定呼叫被连接(1916,是),语音中继装置110可在语音链接上将所连接的呼叫的语音数据发送至移动终端120(1922)。移动终端120可从语音中继装置110处接收语音数据,并可将与呼叫相关的新的语音数据发送至语音中继装置110,从而发往外部电话装置(1924)。
进一步地,语音中继装置110可确定呼叫是否结束(1926)。如果呼叫没有结束(1926,否),则语音中继装置110继续将语音数据发送到移动终端120(1922)。然而,如果呼叫结束(1926,是),语音中继装置110和移动终端120可进一步确定是否是用户,也就是移动终端120,终止了呼叫(1928)。
如果是用户终止了呼叫(1928,是),移动终端120可在信令链接上通知语音中继装置110呼叫已终止,以便语音中继装置110能够终止网络侧上的呼叫(1930),移动终端120可关闭信令链接和语音链接(1934)。
另一方面,如果不是用户终止呼叫(1928,否),即,网络侧终止了呼叫,语音中继装置110可在信令链接上通知移动终端120呼叫已终止(1932),移动终端120可关闭信令链接和语音链接(1934)。
回到图15,在操作期间,移动终端120也可接收由语音中继装置110转至移动终端120的呼叫的相关语音通信(1510)。图20显示的是与披露的实施例相一致的示意的接入呼叫流程2000。如图20所示,开始时,语音中继装置110经由电话模块202接收输入呼叫(2002)。收到输入呼叫后,语音中继装置110可检查所述输入呼叫并确定一个预先设置的用来接收输入呼叫的移动终端120或是一个可以用来接收输入呼叫的移动终端120。语音中继装置110并与此移动终端120建立链接(2004)。
进一步地,语音中继装置110可确定与此移动终端120的连接是否成功(2006)。如果语音中继装置110确定了与此移动终端120之间的连接不成功(2006,否),语音中继装置110可振铃其它已连接的电话设备,从而显示输入呼叫和/或此移动终端120的不可用(2008),并结束输入处理。
另一方面,如果语音中继装置110确定了与此移动终端之间的连接成功(2006,是),语音中继装置110可在ACL链接上建立信令链接(2010),并可在建立的信令链接上将呼叫者的电话号码发送至此移动终端120(2012)。
从语音中继装置110接收了呼叫者信息之后,移动终端120可在GUI上将输入呼叫通知用户,并可确定用户是否接受了输入呼叫(2014)。如果用户没有接受输入呼叫(2014,否),移动终端120可通知语音中继装置110断开输入呼叫(2016)。从而,语音中继装置110断开输入呼叫(2018),移动终端120在GUI上将拒接电话显示给用户(2020)。进一步地,移动终端120可关闭信令链接和语音链接(2038)。
另一方面,如果用户接受了输入呼叫(2014,是),移动终端120可通知语音中继装置110连接输入呼叫(2022)。语音中继装置110可在SCO连接上进一步建立与移动终端120的语音链接(2024)。
建立了与移动终端120之间的语音链接之后,语音中继装置110可在语音链接上将语音数据发往移动终端120(2026)。移动终端120可从语音中继装置110接收语音数据,并可将与输入呼叫相关的新的语音数据发送给语音中继装置110,从而发往外部电话装置(2028)。
进一步地,语音中继装置110可确定呼叫是否结束(2030)。如果呼叫没有结束(2030,否),则语音中继装置110继续将语音数据发送到移动终端120(2026)。然而,如果呼叫结束(2030,是),语音中继装置110和移动终端120可进一步确定是否是用户,也就是移动终端120,终止了呼叫(2032)。
如果是用户终止了呼叫(2032,是),移动终端120可在信令链接上通知语音中继装置110呼叫已终止,以便语音中继装置110能够终止网络侧上的呼叫(2034),移动终端120可关闭信令链接和语音链接(2038)。
另一方面,如果不是用户终止呼叫(2032,否),即,网络侧终止了呼叫,语音中继装置110可在信令链接上通知移动终端120呼叫已终止,并结束呼叫(2036),移动终端120可关闭信令链接和语音链接(2038)。
回到图15,在操作中,移动终端120和语音中继装置110也可控制通信质量(1512)。例如,移动终端120和语音中继装置110可基于某些通信参数控制通信质量。图21示出了与披露的实施例相一致的示意的移动终端通信质量控制流程2100。
如图21所示,开始时,移动终端120经由语音中继装置110启动通信(2102)。移动终端120可同时检查某些通信参数,例如HCI_Read_RSSI(即,蓝牙接收信号强度指示符)和HCI_Get_Link_Quality(即,蓝牙链接质量指示符)(2104)。进一步地,移动终端120可确定任意或所有通信参数是否低于阈值并超过一定量的时间(2106)。
如果移动终端120确定了任意或所有通信参数没有低于阈值并超过一定量的时间(2106,否),移动终端120返回到2104步骤,继续检查通信参数。另一方面,如果移动终端120确定了任意或所有通信参数低于阈值并超过一定量的时间(2106,是),移动终端120可在呼叫接口显示该信息,从而向用户指示没有达到要求的通信质量(2108)。进一步地,移动终端120可确定用户是否继续呼叫(2110)。
如果移动终端120确定了用户不再继续呼叫(2110,否),移动终端120可结束通信质量控制流程2100。另一方面,如果移动终端120确定了用户继续呼叫(2110,是),移动终端120可使用蜂窝网代替语音中继装置110执行通信(2112)。
图22显示了与披露的实施例相一致的语音中继装置通信质量控制流程。如图22所示,开始时,语音中继装置110启动与移动终端120的通信(2202)。语音中继装置110可同时检查某些通信参数,例如HCI_Read_RSSI和HCI_Get_Link_Quality(2204)。进一步地,语音中继装置110可确定任意或所有通信参数是否低于阈值并超过一定量的时间(2206)。
如果语音中继装置110确定了任意或所有通信参数没有低于阈值并超过一定量的时间(2206,否),语音中继装置110返回到2204步骤,继续检查通信参数。另一方面,如果语音中继装置110确定了任意或所有通信参数低于阈值并超过一定量的时间(2206,是),语音中继装置110可由于没有达到要求的通信质量而断开语音链接(2208)。
回到图15,流程1500完成,或从步骤1508开始重复,从而执行与外部装置的语音通信,以及控制通信质量。
上述流程是针对语音中继装置110和移动终端120(室内环境100和/或室内环境160)而示出的。语音中继装置110和移动终端120也可单独将进行各种通信流程通过硬件、软件或软件和硬件的结合来实现。例如,图23示出了与披露的实施例相一致的移动终端120上的示意操作流程2300。
当移动终端120开机时,无线蜂窝模块424恢复正常功能,移动终端120搜索无线蜂窝网络信号。无线蜂窝模块424发现可用无线蜂窝网络后,移动终端120就作为一个无线蜂窝网用户,并使用现有的无线蜂窝网络拨打/接听电话(2302)。在此同时,如前所述,蓝牙模块414也开始工作,并使移动终端120定时查询语音中继装置110(2304)。移动终端120亦可决定可用语音中继装置110是否已被找到(2306)。
如果附近没有可用语音中继装置110(2306,否),移动终端120可在经过一定的延时后继续查询可用语音中继装置110的存在。另一方面,如果附近有一个或多个语音中继装置110,移动终端120就可以发现一个可用语音中继装置110(2306,是)。此可用语音中继装置110回应移动终端120后,移动终端120110可尝试和响应的语音中继装置110配对(2308)。
如前所述,语音中继装置110出于安全考虑可以要求移动终端120提供PIN密码。如果移动终端120是第一次和语音中继装置110配对,移动终端120的用户可能会被要求在一定时限内用键码输入PIN密码,超过此时限的话,语音中继装置110可以拒绝和移动终端120相连接。如果不是第一次,移动终端120可能已经在存储单元中存储了PIN密码,则PIN密码可自动传到语音中继装置110以便其进行安全考虑。如果语音中继110确认PIN密码,移动终端120就可以和语音中继装置110配对,并可进一步建立一个ACL(异步面向连接逻辑)链接以交换信息(2310,是)。如果语音中继装置110不能确认PIN密码或移动终端120和语音中继装置110不能进一步建立逻辑链接,配对过程就被认为是失败的(2310,否)。
移动终端120可根据从语音中继装置110的回应或连接操作状态来决定配对是否成功(2310)。如果配对和连接过程是成功的(2310,是),移动终端120可向语音中继装置110登记(2312)。但是,如果配对和连接过程并不成功(2310,否),移动终端120可向用户显示配对和连接故障信息,并且可以使用无线蜂窝网络来拨打/接听电话(2328)。
此外,在登记过程中,移动终端120可送一个登记请求给语音中继装置110,语音中继110就可以在服务数据库检查移动终端120是否是登记用户。如果移动终端是一个登记用户,语音中继装置110可登记移动终端120。或者,语音中继装置110也可以尝试要求对移动终端120从核心网102进行验证/授权。如果移动终端120不是登记用户,语音中继装置110可以拒绝登记移动终端120。
移动终端120可从语音中继装置110的回应为基础来决定登记过程是否成功(2318)。如果登记不成功(2318,否),移动终端120可向用户显示配对和连接故障信息,并且可以使用无线蜂窝网络来拨打/接听电话(2328)。
如果移动终端120确定登记成功(2318,是),移动终端120可以从无线蜂窝网络切换到和语音中继装置110的蓝牙链接。也就是说,移动终端120可以关闭无线蜂窝模块424(或将无线蜂窝模块424置于待机模式)并使用蓝牙模块414通过语音中继装置110拨打/接听电话(2320)。如果语音中继装置110与PSTN104连接的话,语音中继110也可以代表移动终端120向核心网102注册一个“呼叫转移”的服务,这样指定移动终端120的来电就可以被转移到耦合于语音中继装置110的PSTN104。当语音中继装置110收到来电时,语音中继装置110检查来电以确定其最终的目的地。如果来电是指定移动终端120,语音中继装置110通过蓝牙链接将来电转发到相应的移动终端120。
与图21相似,移动终端120可以定期检查蓝牙链接的信号强度(2322)和确定信号强度是否低于阈值(2324)。如果移动终端120确定该信号强度比阈值低(2324,是),移动终端120可以断开和语音中继装置110的蓝牙链接并切换到无线蜂窝网络从而使用无线蜂窝模块424拨打/接听电话(2326)。语音中继装置110也可取消核心网102的“呼叫转移”服务以允许指定移动终端120的来电直接通过无线蜂窝网络去移动终端120。如果移动终端120确定该信号强度等于或超过所述阈值(2324,否),移动终端120可以继续使用和语音中继装置110的蓝牙链接,并继续从2322步骤监测信号强度。
在操作中,如果移动终端120使用无线蜂窝网络拨打/接听电话,无论是从启动起或从一个蓝牙链接上切换过来的,移动终端120可经常查询一个可用语音中继装置110的存在(2304),使得移动终端120可以在有可用语音中继装置110存在的时候切换回蓝牙链接。当然,其他切换机制也可以使用。
此外,当正在一个呼叫中的移动终端120离开语音中继装置110的覆盖范围,该呼叫可能会因为信号强度监测的原因而被切换到无线蜂窝网络。但是,在某些情况下,该呼叫可能会被断开。在这种情况下,在呼叫断开之前,移动终端120可能会向用户显示警告信息,而用户也可能想更走近语音中继装置110,以避免通话中断。
所披露的系统和方法可提供许多有利的应用。例如,通过使用披露的系统和方法,在室内环境中,蜂窝电话用户能够显著地减少辐射水平,通过使用基于陆行的语音中继装置,提高了通话质量,并降低了蜂窝电话的使用成本。本领域技术人员能够理解,还具有其它方面的优势和应用。