最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

HFP - 协议详析

IT圈 admin 36浏览 0评论

2024年3月24日发(作者:凭运洁)

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 M

连接管理

2 M M

电话状态信息

3 M M

音频连接处理

4 M M

接收语音来电

5 M O

拒绝语音来电

6 M M

中断电话

7 M M

通话中音频链路切换

8

9

10

11

12

13

14

15

16

17

18

19

20

21a

21b

22

23

24

25

免提设备拨号

历史列表拨号

拨打最后一个电话

拨号等待通知

三方通话

CLI(Calling Line Identification)

噪声抑制回声消除

语音识别

号码绑定语音标签

传输多音频能力

远程音量控制

回复和保持

描述号码信息

扩展电话状态

扩展电话控制

特有指示

宽频语音

编解码器协商

手持设备指示器

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

M

M

M

M

M

M

O

O

O

M

O

O

O

O

O

M

O

O

O

3、HFP支持的常见命令

HFP At命令解析:

序命令 命令全称

AT+BRSF

Bt Retrieve Supported Features

1

Bluetooth Available Codecs

2 AT+BAC

3

4

5

6

7

8

9

10

11

12

13

+BCS

AT+CIND=?

AT+CIND?

AT+CMER

AT+CHLD=?

AT+NREC

AT+CCWA

AT+BTRH

AT+CLCC

AT+BIA

AT+CSRSF

Bluetooth Codec Selection

Current status of AG indication

Current status of AG indication

Command enable status report

Call hold

Noise Reduction and Echo Canceling

Command call waiting

Bluetooth Response and Hold Feature

The current list of current call

Bluetooth Indicators Activation

*

回复消息

+BRSF/OK

OK

AT +BCS/OK

命令解释

请求

AG

特性

请求

AG

支持的

codec

HF

回复

AG

支持

codec

+CIND:(范围)

获取对方特性支持

情况

/OK

+CIND:(具体

获取对方特性值

值) /OK

OK

OK

OK

OK

OK

OK

OK

OK

打开状态报告功能

获取三方通话支持

情况

AG

噪声抑制开关

报告状态

获取

AG

状态

蓝牙指示器

*

14

15

16

17

18

+CIEV

AT+CHUP

AT+VGS

AT+VGM

AT+TBSR

Call information element value

Hang-up

Gain of Speaker

Gain of Microphone

NA

Ok

Ok

Ok

Ok

私有命令(

=0

表示

B3

腕带中)

HF

通知

HF

自身

状态

挂断电话

调节

speaker

音量

调节听筒音量

华为

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是强制支持的,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相关的有哪些功能)

问题设备连接手机打电话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窄带音频支持有缺陷。可进行对比验证。

同时需要抓取空口日志进一步分析。

2024年3月24日发(作者:凭运洁)

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 M

连接管理

2 M M

电话状态信息

3 M M

音频连接处理

4 M M

接收语音来电

5 M O

拒绝语音来电

6 M M

中断电话

7 M M

通话中音频链路切换

8

9

10

11

12

13

14

15

16

17

18

19

20

21a

21b

22

23

24

25

免提设备拨号

历史列表拨号

拨打最后一个电话

拨号等待通知

三方通话

CLI(Calling Line Identification)

噪声抑制回声消除

语音识别

号码绑定语音标签

传输多音频能力

远程音量控制

回复和保持

描述号码信息

扩展电话状态

扩展电话控制

特有指示

宽频语音

编解码器协商

手持设备指示器

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

M

M

M

M

M

M

O

O

O

M

O

O

O

O

O

M

O

O

O

3、HFP支持的常见命令

HFP At命令解析:

序命令 命令全称

AT+BRSF

Bt Retrieve Supported Features

1

Bluetooth Available Codecs

2 AT+BAC

3

4

5

6

7

8

9

10

11

12

13

+BCS

AT+CIND=?

AT+CIND?

AT+CMER

AT+CHLD=?

AT+NREC

AT+CCWA

AT+BTRH

AT+CLCC

AT+BIA

AT+CSRSF

Bluetooth Codec Selection

Current status of AG indication

Current status of AG indication

Command enable status report

Call hold

Noise Reduction and Echo Canceling

Command call waiting

Bluetooth Response and Hold Feature

The current list of current call

Bluetooth Indicators Activation

*

回复消息

+BRSF/OK

OK

AT +BCS/OK

命令解释

请求

AG

特性

请求

AG

支持的

codec

HF

回复

AG

支持

codec

+CIND:(范围)

获取对方特性支持

情况

/OK

+CIND:(具体

获取对方特性值

值) /OK

OK

OK

OK

OK

OK

OK

OK

OK

打开状态报告功能

获取三方通话支持

情况

AG

噪声抑制开关

报告状态

获取

AG

状态

蓝牙指示器

*

14

15

16

17

18

+CIEV

AT+CHUP

AT+VGS

AT+VGM

AT+TBSR

Call information element value

Hang-up

Gain of Speaker

Gain of Microphone

NA

Ok

Ok

Ok

Ok

私有命令(

=0

表示

B3

腕带中)

HF

通知

HF

自身

状态

挂断电话

调节

speaker

音量

调节听筒音量

华为

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是强制支持的,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相关的有哪些功能)

问题设备连接手机打电话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窄带音频支持有缺陷。可进行对比验证。

同时需要抓取空口日志进一步分析。

发布评论

评论列表 (0)

  1. 暂无评论