广州助孕哪家专业

第一时间,呈现最新最专业的行业信息

资讯分类

理解蓝牙电话之HFP协议

  • 作者:admin
  • 来源:未知
  • 发布时间:2024-04-28
  • 访问量: 386

【概要描述】下面我抓了HFP通话的话带大家走上述提到的流程所涉及的报文ACL链路建立这个包的含义是控制器给协议栈发送蓝牙ACL连接请求这个包的含义是协议栈回复控制器接收连接请求这个包的含

理解蓝牙电话之HFP协议

【概要描述】下面我抓了HFP通话的话带大家走上述提到的流程所涉及的报文ACL链路建立这个包的含义是控制器给协议栈发送蓝牙ACL连接请求这个包的含义是协议栈回复控制器接收连接请求这个包的含

  • 作者:admin
  • 来源:未知
  • 发布时间:2024-04-28
  • 访问量: 386
详情
什么是HFP协议

HFP协议说的是蓝牙电话顾名思义就是使用蓝牙技术实现电话拨打相关功能,具体应用在车载蓝牙,蓝牙音箱,蓝牙手环,蓝牙耳机等设备上,本人做过蓝牙音箱,所以这篇主要蓝牙音箱为第一视角讲解蓝牙通话相关内容。

Hands-FreeProfile简称HFP,蓝牙免提协议故一定了免提设备控制电话相关操作,这里的面体设备指得就是相关的蓝牙设备(如蓝牙音箱,车载蓝牙)。详细描述请参考协议文档HFP_

ConfigurationandRoles

HFP中有两个角色:

Thefollowingrolesaredefinedforthisprofile:

AudioGateway(AG)–Thisisthedevicethatisthegatewayoftheaudio,

Hands-Freeunit(HF)–ThisisthedeviceactingastheAudioGateway’

上述的角色定义是从HFP协议文档给出来的,不明白没有关系举个例子就知道了,那蓝牙音箱(耳机)为例,蓝牙音箱和手机相连,那么手机的角色是AG,音箱(耳机)的角色就是HF

HFP协议的连接

那么HF侧和AG侧如何进行连接通信,由下面的图解带大家分析下

连接具体流程如下图:

手机的音频的连接AG和HF侧都可以发起,连接过程中的消息交互及流程答题相同。本篇文章没有特殊声明,第一视角都是蓝牙音箱HF侧分析起点,上图的SLC(ServiceLevelConnection)建立代表HFP连接成功。

下面我抓了HFP通话的话带大家走上述提到的流程所涉及的报文

ACL链路建立

这个包的含义是控制器给协议栈发送蓝牙ACL连接请求

这个包的含义是协议栈回复控制器接收连接请求

这个包的含义是控制器回复协议栈ACL连接成功

L2CAP的链路连接

SDP服务发现HFP

这个包的含义是HF本地接收AG手机侧发出的SDP报文发现HandsfreeHFP协议



这个包的含义是HF本地发送AG手机侧接收该服务的响应

RFCOMM协议连接

下面的画框中的报文代表HFP连接要建立RFCOMM协议连接之上

AT命令交互


下图画框中的报文说明涉及AT命令的交互

如果你抓取的报文也有上述图中的指令,那么代表着SLC连接建立成功,意味着HFP协议建立成功

这样如果操作HFP协议失败时,我们就可以从以下五个方面分析原因:

1、当前蓝牙的ACL链路是否建立成功

2、L2CAP的链路是否建立成功

3、SDP服务搜索HFP协议是否正常完成

4、RFCOMMM是否成功

5、AT命令是否依次交互完成

AT命令依次交互的顺序为:BRSF-BAC(AG+HF都支持codec协商)-CIND=?-CIND?-CMER-CHLD=?(AG、HF都支持三方通话)

上述内容就是HFP连接的流程

HFPProfile组成依赖关系

这是我HFP官方协议手册找到的,相信理解看完上面HFP的连接具体流程之后,再看下面这张图层次感就容易了

HFP中的电话音频

蓝牙通话过程的语音数据,这种音频对时效性有高要求,一般通过特殊的SCO或者ESCO链路传输数据,编码方式有:CVSD,MSBC。最基础的窄带8k编码方式为CVSD,免提蓝牙设备都需支持该编码方式,支持宽带16k语音的设备可选mSBC编码数据

上图中的(M表示强制支持,C1表示可选支持):

CVSD:该编码方式的数据传输使用SCO或eSCO链路。链路的选取是根据本端Controller是否支持EnhancedSetupSynchronousConnection指令来决定的,如果支持该命令则创建语音音频链路时使用eSCO,否则创建SCO链路。mSBC:该编码方式的数据传输只能使用eSCO链路。

SCO与ESCO的区别是:

1、SCO逻辑传输是对称的,而ESCO逻辑传输是非对称的。

2、SCO不支持重传,而ESCO支持重传

那如何知道AG侧是否支持ESCO,可以看看我的下篇HFP的AT指令文章讲解

蓝牙电话语音的传输途径

上图是官方协议给的,我总结了下简单地讲:phoneAudio-PCM编码-AG基带-HF基带-PCM解码-phoneAudio




参考资料

TOP

Copyright © 2002-2030 广州华育文化科技服务有限公司 联系我们|广州市番禺区东环街番禺大道北555号天安产业大厦2座404室 粤ICP备2024191603号-1 广州东骏国际助孕中心