Bluetooth技术学习笔记 ——HFP之Call

时间:2024-03-28 13:14:33
1. 来电

若收到来电,AG会一直给HF重复发送RING alerts,直到接通电话,或者拒接电话。

HF在收到RING alerts后,开始响铃。铃声根据实际情况而定,或AG设置的铃声,或HF自带的铃声。

AG SDP或+BRSF消息表明AG支持“In-band ring tone”,则AG需要将铃声发送给HF。

(1)HF接电话 —— In-band ring

  • 前提条件:AG与HF已存在SLC连接。若不存在,则AG需先发起SLC连接建立。
  • AG在已建立的音频连接上发送铃声。
  • 流程图:

Bluetooth技术学习笔记 ——HFP之Call
(2)HF接电话 ——No In-band ring

  • 前提条件:AG与HF已存在SLC连接。若不存在,则AG需先发起SLC连接建立。
  • 若音频连接不存在,则AG需要在HF接电话之后,开始建立音频连接。
  • 流程图:

Bluetooth技术学习笔记 ——HFP之Call
(3)AG接电话

  • 前提条件:① AG与HF已存在SLC连接;②响铃可按(1)(2)两种方式。
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call

(4)HF拒接电话

  • HF可以在任何时候拒接电话。
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call

(5)AG拒接电话

  • AG在UI界面拒绝电话,或者因其它原因挂断电话。
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call
2. 打电话

(1)HF发起打电话,电话号码来自HF

  • HF向AG发送ATDdd…dd;命令;
  • AG根据HF提供的电话号码,发起打电话,并向HF发送+CIEVcallsetup=2
  • AG一旦收到了远端设备响铃的消息,则向HF发送+CIEVcallsetup=3;若网络不支持给AG发送远端设备响铃的消息,则AG可能不会发送该消息。
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call

(2)HF发起打电话,电话号码来自AG内存卡

  • HF给AG发送ATD>Nan…;命令;
  • AG根据存储在内存卡Nan…;中的号码,发起打电话,并向HF发送+CIEVcallsetup=2
  • AG一旦收到了远端设备响铃的消息,则向HF发送+CIEVcallsetup=3
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call

(3)HF发起打电话,电话号码为AG最近一次拨打的号码

  • HF给AG发送AT+BLDN命令;
  • AG根据最近一次拨打的号码,发起打电话,并向HF发送+CIEVcallsetup=2
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call
3. 三方通信

以下描述的前提是:已存在一个通话。

(1)Three-Way Calling — Call Waiting Notification

  • 前提:已使能Call Waiting Notification
  • 若AG收到了第三方来电,则向HF发送来电等待通知**+CCWA**,和**+CIEV**结果码,callsetup=1
  • 若HF拒绝了电话,则向AG发送AT+CHLD=0
  • 若HF想把一个正在等待接入的电话加入到电话会议中,需要先发送 AT+CHLD=2命令,再发送AT+CHLD=3命令。
  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call

(2)Three-Way Calls – Third Party Call Placed from the HF

  • 流程图:
    Bluetooth技术学习笔记 ——HFP之Call