HFP协议详析.docx
《HFP协议详析.docx》由会员分享,可在线阅读,更多相关《HFP协议详析.docx(9页珍藏版)》请在冰豆网上搜索。
HFP协议详析
FP---协议详析
HFP协议分析
1、HFP整体结构图
2、HFP规定的功能支持情况。
3、HFP支持的常见命令
4、HCI日志中HFPAT命令交互情况。
5、HFPcodec
6、常见HFP相关问题
1、HFP整体结构图
HFP配置文件V1.7.1,HFP交互双方的协议整体结构如下图。
AudioGateway:
手机电脑等设备。
Hands-Free:
蓝牙耳机、carkit等设备。
2、HFP规定的功能支持情况。
HFP协议规定功能支持情况如下,M代表强制支持,o:
代表可选:
序号
功能描述
免提设备
手机
1
连接管理
M
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(CallingLineIdentification)
O
M
14
噪声抑制回声消除
O
O
15
语音识别
O
O
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支持的常见命令
HFPAt命令解析:
序号
命令
命令全称
回复消息
命令解释
1
AT+BRSF
BtRetrieveSupportedFeatures
+BRSF/OK
请求AG特性
2
AT+BAC
BluetoothAvailableCodecs
OK
请求AG支持的codec
3
+BCS
BluetoothCodecSelection
AT+BCS/OK
给HF回复AG支持的codec
4
AT+CIND=?
CurrentstatusofAGindication
+CIND:
(范围)/OK
获取对方特性支持情况
5
AT+CIND?
CurrentstatusofAGindication
+CIND:
(具体值)/OK
获取对方特性值
6
AT+CMER
Commandenablestatusreport
OK
打开状态报告功能
7
AT+CHLD=?
Callhold
OK
获取三方通话支持情况
8
AT+NREC
NoiseReductionandEchoCanceling
OK
AG噪声抑制开关
9
AT+CCWA
Commandcallwaiting
OK
10
AT+BTRH
BluetoothResponseandHoldFeature
OK
报告状态
11
AT+CLCC
Thecurrentlistofcurrentcall
OK
获取AG状态
12
AT+BIA
BluetoothIndicatorsActivation
OK
蓝牙指示器
13
AT+CSRSF
*
OK
*
14
+CIEV
Callinformationelementvalue
NA
向HF通知HF自身状态
15
AT+CHUP
Hang-up
Ok
挂断电话
16
AT+VGS
GainofSpeaker
Ok
调节speaker音量
17
AT+VGM
GainofMicrophone
Ok
调节听筒音量
18
AT+TBSR
私有命令(=0表示B3腕带中)
Ok
华为B2/3私有命令
4、HCI日志中HFPAT命令交互情况。
如下图所示是连接过程中蓝牙HCI日志HFP列的AT命令交互过程。
多数命令在上面的表格中已经有介绍。
其中+CIEV命令包含的含义较多,已图中为例,+CIEV:
2,2表示向外拨打电话;+CIEV:
2,3表示对方响铃;+CIEV:
1,1接通电话;+CIEV:
2,0当前没有待处理电话;+CIEV:
1,0当前没有通话处于activity状态。
5、HFPcodec
目前支持两种不同的采样频率,分别是CVSD和mSBC,并且在sco链路和eSco链路下也存在差异。
其中,CVSD是强制支持的,mSBC是可选项;但对于国内来讲,通话的语音采样均为8KHz因此手机和蓝牙耳机之间即便采用16KHz的mSBC采样,音频也不会有太大改善。
但是使用16KHz采样的mSBC可以提高语音识别的正确率。
5.1CVSDcodec
CVSD采用8kHz采样,分别为SCO链路下和eSCO链路下的不同配置情况。
5.2mSBCcodec
mSBC采用16KHz采样,使用mSBC需要在eSCO链路上传输。
6、常见HFP相关问题
问题定位方法
(定位问题手段,对应到工具,常见的问题,对应的车载或耳机兼容性问题,HFP相关的有哪些功能)
问题1.HF设备连接手机打电话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窄带音频支持有缺陷。
可进行对比验证。
同时需要抓取空口日志进一步分析。