1、HFP协议分析 1、 HFP整体结构图 2、 HFP规定的功能支持情况。 3、 HFP支持的常见命令 4、 HCI日记中HFP AT命令交互情况。 5、 HFP codec 6、 常见HFP相关问题 1、HFP整体结构图 HFP 配置文献 V1.7.1,HFP交互双方的协议整体结构如下图。 Audio Gateway :手机电脑等设备。 Hands-Free :蓝牙耳机、carkit等设备。 2、H FP规定的功能支持情况。 HFP协议规定功能支持情况如下,M代表强制支持,o:代表可选: 序号 功能描述 免提设备 手机 1 连接管理 M
2、M 2 电话状态信息 M M 3 音频连接解决 M M 4 接受语音来电 M M 5 拒绝语音来电 M O 6 中断电话 M M 7 通话中音频链路切换 M M 8 免提设备拨号 O M 9 历史列表拨号 O M 10 拨打最后一个电话 O M 11 拨号等待告知 O M 12 三方通话 O M 13 CLI(Calling Line Identification) O M 14 噪声克制回声消除 O O 15 语音辨认 O O
3、 16 号码绑定语音标签 O O 17 传输多音频能力 O M 18 远程音量控制 O O 19 回复和保持 O O 20 描述号码信息 O O 21a 扩展电话状态 O O 21b 扩展电话控制 O O 22 特有指示 O M 23 宽频语音 O O 24 编解码器协商 O O 25 手持设备指示器 O O 3、HFP支持的常见命令 HFP At命令解析: 序号 命令 命令全称 回复消息 命令解释 1 AT+BRSF Bt Retriev
4、e Supported Features +BRSF/OK 请求AG特性 2 AT+BAC Bluetooth Available Codecs OK 请求AG支持的codec 3 +BCS Bluetooth Codec Selection AT +BCS/OK 给HF回复AG支持的codec 4 AT+CIND=? Current status of AG indication +CIND:(范围) /OK 获取对方特性支持情况 5 AT+CIND? Current status of AG indication +CIND:(具体值) /OK
5、获取对方特性值 6 AT+CMER Command enable status report OK 打开状态报告功能 7 AT+CHLD=? Call hold OK 获取三方通话支持情况 8 AT+NREC Noise Reduction and Echo Canceling OK AG噪声克制开关 9 AT+CCWA Command call waiting OK 10 AT+BTRH Bluetooth Response and Hold Feature OK 报告状态 11 AT+CLCC The current list of
6、 current call OK 获取AG状态 12 AT+BIA Bluetooth Indicators Activation OK 蓝牙指示器 13 AT+CSRSF * OK * 14 +CIEV Call information element value NA 向HF告知HF自身状态 15 AT+CHUP Hang-up Ok 挂断电话 16 AT+VGS Gain of Speaker Ok 调节speaker音量 17 AT+VGM Gain of Microphone Ok 调节听筒音量 18 AT+TBSR
7、 私有命令(=0表达B3腕带中) Ok 华为B2/3私有命令 4、HCI日记中HFP AT命令交互情况。 如下图所示是连接过程中蓝牙HCI日记HFP列的AT命令交互过程。 多数命令在上面的表格中已有介绍。其中+CIEV命令包含的含义较多,已图中为例,+CIEV:2,2表达向外拨打电话;+CIEV:2,3表达对方响铃;+CIEV:1,1接通电话;+CIEV:2,0当前没有待解决电话;+CIEV:1,0当前没有通话处在activity状态。 5、HFP codec 目前支持两种不同的采样频率,分别是CVSD和mSBC,并且在sco链路和eSco链路下也存在差异。其中,CVSD是
8、强制支持的,mSBC是可选项;但对于国内来讲,通话的语音采样均为8KHz因此手机和蓝牙耳机之间即便采用16KHz的mSBC采样,音频也不会有太大改善。但是使用16KHz采样的mSBC可以提高语音辨认的对的率。 5.1 CVSD codec CVSD 采用8kHz采样,分别为SCO链路下和eSCO链路下的不同配置情况。 5.2 mSBC codec mSBC采用16KHz采样,使用mSBC需要在eSCO链路上传输。 6、常见HFP相关问题 问题定位方法 (定位问题手段,相应到工具,常见的问题,相应的车载或耳机兼容性问题,HFP相关的有哪些功能) 问题1.HF设备
9、连接手机打电话phone状态异常。 分析方向:查看AT命令中+CIEV以及AT+ CHUP命令是否执行成功以及相应的状态是否正常。 问题2.连接车载通话单通或者双线无声。 分析方向:将音频切换到手机确认是否ok,然后切换回HF设备确认是否可以恢复。假如仍然不可以恢复,抓空中包进一步确认。 问题3.无法连接“手机音频”,手动点击仍然无效。 分析方向:确认HF设备的“手机音频”是否已经连接到其他设备上,尝试重启HF设备查看是否可以恢复,并且从日记上确认手机发起的“手机音频”连接请求是否被拒绝,以及被拒绝的因素。 问题4.华为B2/B3连接HF设备微信通话问题。 分析方向:查看当时B2/B3手环的状态,是否处在腕带模式。可通过华为私有命令AT+BTSR进行确认。 问题5.连接蓝牙耳机通话声音异常。 分析方向:确认HF设备的AT+BRSF中的codec项以及AG设备的codec项是否显示支持。部分蓝牙耳机对于cvsd的8KHz窄带音频支持有缺陷。可进行对比验证。同时需要抓取空口日记进一步分析。






