当前位置: 代码迷 >> 综合 >> 蓝牙电话协议HFP(Hands-Free Profile) 三方通话功能相关的流程介绍 Three-way call
  详细解决方案

蓝牙电话协议HFP(Hands-Free Profile) 三方通话功能相关的流程介绍 Three-way call

热度:83   发布时间:2024-03-06 10:01:34.0

零. 概述

本文章主要讲下电话免提协议HFP(Hands-Free Profile)Call waiting notification,Three-Way Call Handling,Response and Hold,

Enhanced Call Control Mechanisms Feature.就是一下HFP feature中的NO.11和NO.12以及NO.19和NO.21b,主要是应用在三方通话中,是可选feature

一. 声明

本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。

第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等

第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等

第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。

第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)

第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等

第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展

第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。

另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。

-------------------------------------------------------------------------------------------------------------------------

CSDN学院链接(进入选择你想要学习的课程):https://edu.csdn.net/lecturer/5352?spm=1002.2001.3001.4144

蓝牙交流扣扣群:970324688

Github代码:https://github.com/sj15712795029/bluetooth_stack

入手开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708

蓝牙学习目录:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107727900

--------------------------------------------------------------------------------------------------------------------------

二. Call waiting notification

The HF may issue the AT+CCWA command to enable the “Call Waiting notification” function in the AG. Once the “Call Waiting notification” is enabled, the AG shall send the corresponding +CCWA unsolicited result code to the HF whenever an incoming call is waiting during an ongoing call. It is always assumed that the “call waiting” service is already active in the network.

AT+CCWA=1 àenable call waiting notification

AT+CCWA=0 àdisable call waiting notification

如果使能后,在通话中再来电AG就会自动发送过来 +CCWA:xxx

比如+CCWA: "10086",129

三. Three-Way Call Handling

此部分就是当三方通话出现的情况下,HF给AG的操纵AT command,格式为AT+CHLD=xx

xx的具体说明在AT+CHILD=?的地方已经说明,但是要说明一点就是idx是CLCC问询回来

四. Response and Hold

4.1 Query Response and Hold Status

The HF shall execute this procedure to query the status of the “Response and Hold” state of the AG.

如果AG在response或者hold状态,那么就会返回+BTRH:0,如果没有在response或者hold状态,那么只会返回OK

4.2 Put an Incoming Call on Hold from HF

从HF端把incoming call状态设置成hold状态

4.3 Put an Incoming Call on Hold from AG

从AG端把电话设置成hold状态

4.4 Accept a Held Incoming Call from HF

从HF端接听hold接听hold状态的手机

4.5 Accept a Held Incoming Call from AG

从AG端接听hold状态的电话

4.6 Reject a Held Incoming Call from HF

从HF端拒绝hold状态的电话

4.7 Reject a Held Incoming Call from AG

从AG端拒接hold状态的电话

4.8 held Incoming Call Terminated by Caller

打电话的人直接挂掉电话

五. Enhanced Call Control Mechanisms

此部分同样用到三方通话的AT command,AT+CHLD,详细请参照前面小节 

  相关解决方案