协议
呼叫
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
控制通过耳机转接的通话的生命周期。
请求有效
请求将通话设置为 ONGOING_ACTIVE CallState。 这样做的副作用是,如果成功,则路由到此对等方的所有其他调用会处于 ONGOING_HELD 调用状态。
请求
<空>
请求保留
请求将通话设置为 ONGOING_HELD CallState
请求
<空>
请求终止
请求终止通话。
请求
<空>
请求传输音频
请求将通话的音频传输到音频网关,并将通话状态设置为 TRANSFERRED_TO_AG。
请求
<空>
发送 DtmfCode
发送通话管理器或远程音频网关对等方应传输到其网络连接的代码。请求在代码传输到网络后返回。
如果调用管理器或对等方未能将代码传输到网络,可能会返回错误。
请求
名称 | 类型 |
---|---|
code |
DtmfCode
|
回复
名称 | 类型 |
---|---|
payload |
Call_SendDtmfCode_Result
|
WatchState
调用状态的挂起 get 方法。如需了解可能的状态,请参阅 CallState
文档。
请求
<空>
回复
名称 | 类型 |
---|---|
state |
CallState
|
通话管理器
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
对等连接
表示已连接支持 HFP 免提角色的对等设备。
id
是与对等方关联的唯一标识符。
handle
是通话管理器用于管理对等端的通道。如果调用管理器不打算处理给定对等方,它必须以 ZX_ERR_UNAVAILABLE
音画来关闭句柄。
客户端可以发出多个并发 PeerConnected 请求。 空响应用作流控制机制,使客户端可以限制待处理 PeerConnected 请求的数量。
请求
名称 | 类型 |
---|---|
id |
fuchsia.bluetooth/PeerId
|
handle |
server_end<PeerHandler>
|
回复
<空>
免提
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
WatchPeerConnected
挂起 get 程序,等待支持 HFP 音频网关角色的对等设备进行连接。
id
是与该对等端关联的唯一标识符。
handle
是客户端用于管理对等端的通道。
如果调用管理器不打算处理给定对等方,它必须关闭句柄,
请求
<空>
回复
名称 | 类型 |
---|---|
payload |
HandsFree_WatchPeerConnected_Result
|
耳机增益
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
控制耳机扬声器和麦克风增益,并接收 HFP v1.8 第 4.29 节中指定的当前值报告。此协议由 Hfp 服务提供。
收益用 0 到 15 之间的绝对值表示。0 是最小增益,15 是最大增益。它与耳机控制的特定(取决于实现)音量相关。
圣书:
如果存在处于活跃状态的 HeadsetGain
渠道,此渠道将以 ZX_ERR_ALREADY_BOUND
类似的方式关闭。
如果 Hfp 服务未配置为支持远程音量控制或对等耳机不支持远程音量控制,则此频道将以 ZX_ERR_NOT_SUPPORTED
epitaph 为关闭。如果信道因此错误而关闭,客户端不应尝试在同一 PeerHandler 连接上使用 PeerHandler::GainControl
请求重新打开信道。
如果向请求传递了无效参数,此通道将关闭并显示 ZX_ERR_INVALID_ARGUMENT
缩略图。如需了解详情,请参阅有关具体请求的文档。
设置麦克风增益
请向耳机发出请求,将麦克风增益设置为 requested
。
requested
必须介于 [0-15] 之间(含 [0-15])。任何超出此范围的值都将导致通道以 ZX_ERR_INVALID_ARGUMENT
增量音结束。
请求
名称 | 类型 |
---|---|
requested |
uint8
|
设置扬声器增益
向耳机发出请求,将扬声器增益设置为 requested
。
requested
必须介于 [0-15] 之间(含 [0-15])。任何超出此范围的值都将导致通道以 ZX_ERR_INVALID_ARGUMENT
增量音结束。
请求
名称 | 类型 |
---|---|
requested |
uint8
|
手表麦克风增益
挂起即可监视耳机麦克风增益的更新。响应代表已设置的当前增益值。
返回的 gain
值将始终介于 [0-15] 之间(包括 [0-15])。
请求
<空>
回复
名称 | 类型 |
---|---|
gain |
uint8
|
手表扬声器增益
挂起即可监视耳机扬声器增益的更新。响应代表已设置的当前增益值。
返回的 gain
值将始终介于 [0-15] 之间(包括 [0-15])。
请求
<空>
回复
名称 | 类型 |
---|---|
gain |
uint8
|
HFP
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
注册
注册为此设备的通话管理器。
一次只能注册一个通话管理员。如果在调用 Register
时注册了一个,则较新的 CallManager 渠道将关闭。
通话管理器可通过关闭渠道的任一端来取消注册。
请求
名称 | 类型 |
---|---|
manager |
CallManager
|
PeerHandler
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
通话管理器或免触摸服务器组件将为其选择用于管理通话的每个已连接耳机提供通话处理程序协议。
如果对等处理程序被任一通道端点关闭,则与此对等处理程序关联的所有协议都会关闭。这包括任何通话和耳机增益协议。在这种情况下,由服务器端关闭的频道将包含片名 ZX_ERR_HANDLE_CLOSED
。
增益控制
头戴式耳机增益的撕开协议。
在任何给定时间,一个 PeerHandler 协议只能有一个 HeadsetGrow 协议处于活动状态。旧版 HeadsetGrow 协议优先使用。在发出新的 GrowControl 请求后,如果 HeadsetGrow 协议处于活动状态,新的 HeadsetGrow 协议将立即关闭。
请求
名称 | 类型 |
---|---|
control |
HeadsetGain
|
QueryOperator(查询运算符)
请求通话管理器或音频网关对等方的网络运营商名称。如果没有可用的运算符名称,则返回 null 值。
请求
<空>
回复
名称 | 类型 |
---|---|
operator |
string[16]?
|
ReportHeadsetBatteryLevel
耳机电池电量从 0 到 100 不等 请参阅 https://www.bluetooth.com/specifications/specified-numbers/hands-free-profile/
请求
名称 | 类型 |
---|---|
level |
uint8
|
请求拨出电话
用于请求由通话管理器或音频网关对等方发起去电。在拨出电话并通过 WatchNextCall
结果返回相应的 Call
协议后,RequestOutgoingCall
应完成。
如果无法按照请求进行呼叫,将返回错误。
-
如果系统不支持请求的操作,可以使用 ZX_ERR_NOT_SUPPORTED。
-
如果有正在进行的调用且系统不支持其他调用,则可以使用 ZX_ERR_ALREADY_EXISTS。
请求
名称 | 类型 |
---|---|
action |
CallAction
|
回复
名称 | 类型 |
---|---|
payload |
PeerHandler_RequestOutgoingCall_Result
|
设置 NrecMode
HF 请求根据 enabled
布尔值在 AG 上启用或停用降噪/回声消除功能。如果设备不支持降噪/回声消除,则会返回 ZX_ERR_NOT_SUPPORTED
错误。
请求
名称 | 类型 |
---|---|
enabled |
bool
|
回复
名称 | 类型 |
---|---|
payload |
PeerHandler_SetNrecMode_Result
|
SubscriberNumberInformation
从通话管理器或音频网关对等方请求订阅者号码。 可以返回 0 个或多个数字。目前不支持发送超过 128 个号码。
请求
<空>
回复
名称 | 类型 |
---|---|
numbers |
vector<string>[128]
|
观看网络信息
挂起在 NetworkInformation
上为 Hfp 服务提供 update
。update
中不存在的所有字段都将被视为更新不会修改。
调用管理器或音频网关对等方在首次被调用时,应该提供一个完整填充的 update
。
在对等方的连接初始化过程中使用最新的 NetworkInformation
,如果对等方支持 AG 指示器,更新会传播到对等方。
请求
<空>
回复
名称 | 类型 |
---|---|
update |
NetworkInformation
|
观看下一个通话
挂起 get,它会在通话管理器或音频网关对等方发起新通话,或正在进行的通话转接到耳机时返回。可以在 WatchNextCall
之前或之后调用 RequestOutgoingCall
。
请求
<空>
回复
名称 | 类型 |
---|---|
call |
NextCall
|
结构
调用_SendDtmfCode_Response
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
<空>
HandsFree_WatchPeerConnected_Response 资源
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
id |
fuchsia.bluetooth/PeerId
|
无默认值 | |
handle |
PeerHandler
|
无默认值 |
PeerHandler_RequestOutgoingCall_Response
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
<空>
PeerHandler_SetNrecMode_Response
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
<空>
上次重拨
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
表示重拨上次拨打的号码的操作。
<空>
转移有效
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
表示将进行中的通话转接至耳机的操作。
<空>
枚举
CallDirection 严格
类型:uint32
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
通话发起方向。
名称 | 值 | 说明 |
---|---|---|
MOBILE_OriginATED |
1 |
此设备上有来电。这也称为“去电”。 |
MOBILE_已终止 |
2 |
此设备的通话已终止。这也称为“来电”。 |
CallState 灵活
类型:uint32
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
表示通话的有效状态。
名称 | 值 | 说明 |
---|---|---|
外拨电话 |
1 |
去电有一个通话设置程序,正在进行中。 此状态不应由调用协议客户端设置。 未接电话的初始状态。 |
OUTGOING_ALERTING |
2 |
去电有一个 Callsetup 程序正在进行中,并且远程方已收到 callsetup 提醒。此状态是从 OUTGOING_DIALING 的可选转换。 |
来电 |
3 |
有来电有一个 callsetup 程序正在进行中。 |
收到等待 |
4 |
有来电有一个 callsetup 程序正在进行中。 |
持续健康 |
5 |
一个通话正在进行中,但另一个通话正在进行。 |
正在进行 |
6 |
通话正在进行。 |
已终止 |
7 |
此通话已终止。 |
已转接_TO_AG |
8 |
通话已转接给 AG,之后 HF 将不再跟踪其状态。 |
DtmfCode 严格
类型:uint8
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
双音多频信号码。
名称 | 值 | 说明 |
---|---|---|
一 |
49 |
在 AT 命令中以 ASCII “1”表示。 |
二 |
50 |
在 AT 命令中用 ASCII “2”表示。 |
三 |
51 |
在 AT 命令中以 ASCII “3”表示。 |
四 |
52 |
在 AT 命令中以 ASCII “4”表示。 |
五 |
53 |
在 AT 命令中用 ASCII “5”表示。 |
六 |
54 |
在 AT 命令中以 ASCII “6”表示。 |
七 |
55 |
在 AT 命令中以 ASCII “7”表示。 |
八 |
56 |
在 AT 命令中用 ASCII “8”表示。 |
九 |
57 |
在 AT 命令中用 ASCII “9”表示。 |
NUMBER_SIGN |
35 |
在 AT 命令中以 ASCII“#”表示。 |
零 |
48 |
在 AT 命令中以 ASCII “0”表示。 |
ASTERISK |
42 |
在 AT 命令中以 ASCII “*”表示。 |
A |
65 |
在 AT 命令中以 ASCII“A”表示。 |
B |
66 |
在 AT 命令中以 ASCII “B”表示。 |
C |
67 |
在 AT 命令中以 ASCII“C”表示。 |
D |
68 |
在 AT 命令中以 ASCII“D”表示。 |
信号强度严格
类型:int8
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
表示音频网关与网络之间连接的信号强度。
名称 | 值 | 说明 |
---|---|---|
无 |
1 |
|
非常低 |
2 |
|
低 |
3 |
|
适中 |
4 |
|
高 |
5 |
|
VERY_高 |
6 |
表格
网络信息
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
音频网关的网络信息。通常,它表示有关与电话网络的连接状态的信息。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
service_available |
bool
|
报告网络注册状态。请参阅 HFP v1.8 第 4.4 节 |
2 |
signal_strength |
SignalStrength
|
报告网络连接的信号强度。请参阅 HFP v1.8 第 4.5 节。 |
3 |
roaming |
bool
|
报告该网络的漫游状态。请参阅 HFP v1.8 第 4.6 节 |
NextCall 资源
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
对等处理程序报告的下一个调用的信息。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
call |
Call
|
此通话的频道。 必须填写此字段。 |
2 |
remote |
Number
|
通话中远程方的号码。 必须填写此字段。 |
3 |
state |
CallState
|
对等处理程序报告调用时的调用状态。 必须填写此字段。 |
4 |
direction |
CallDirection
|
发起通话的方向。如需了解详情,请参阅 |
联合
CallAction 严格
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
HF 发出的一条命令,其中包含表示要拨打哪个号码的值。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
dial_from_number |
Number
|
呼叫处理程序服务拨打的完整号码。请参阅 HFP v1.8 第 4.18 节。 |
2 |
dial_from_location |
Memory
|
一个电话簿内存位置,应从该位置查询要拨打的号码。请参阅 HFP v1.8 第 4.19 节。 |
3 |
redial_last |
RedialLast
|
调用处理程序服务应拨打上次使用的电话号码。请参阅 HFP v1.8 第 4.20 节。 |
4 |
transfer_active |
TransferActive
|
请求将正在进行的通话转接到耳机,而不是发起新的去电。音频网关上的通话必须已在进行中,才能将音频传输到免提设备。请参阅 HFP v1.8 第 4.16 节。 |
Call_SendDtmfCode_Result 严格
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Call_SendDtmfCode_Response
|
|
2 |
err |
zx/Status
|
HandsFree_WatchPeerConnected_Result 严格 资源
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
HandsFree_WatchPeerConnected_Response
|
|
2 |
err |
zx/Status
|
PeerHandler_RequestOutgoingCall_Result 严格
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PeerHandler_RequestOutgoingCall_Response
|
|
2 |
err |
zx/Status
|
PeerHandler_SetNrecMode_Result 严格
在 fuchsia.bluetooth.hfp/hfp.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PeerHandler_SetNrecMode_Response
|
|
2 |
err |
zx/Status
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_PICONET_SIZE |
8
|
uint64 |
别名
名称 | 值 | 说明 |
---|---|---|
内存 |
string [256 ] |
表示特定的电话簿存储位置。 |
号 |
string [256 ] |
表示 V.250 拨号数字的文本字符串。 有关详情,请参阅 TS 127.007v06.08.00 第 6.2 节。 |