参考:HFP_v1.7.1
SLC:Service Level Connection,服务级连接
AG:Audio Gateway,音频网关
HF,hands-free,免提
Service Level Connection Establishment,服务级连接建立
Link Loss Recovery,链路损坏恢复
Service Level Connection Release,服务级连接释放
1. 连接管理相关AT指令
  • AT+BRSF = <HF supported features>:HF告知AG其所支持的特性。
  • +BRSF :<HF supported features>:AG向HF响应其所支持的特性。
  • AT+BAC = <HF available codecs>:HF告知AG其可用的编码器。
  • AT+CIND=?:HF向AG询问其所支持的指示器,以及它们的顺序。
  • AT+CIND?:HF读取AG所支持指示器的状态。
  • AT+CMER:HF使能AG指示器状态更新功能。
  • AT+CHLD=?:查询AG如何支持call waiting和多方服务。
  • AT+BIND = <HF supported HF indicators>:HF告知AG其支持指示器特性。
  • AT+BIND=? :HF向AG询问AG所支持的HF指示器信息。
  • AT+BIND? :HF向AG询问AG使能的HF指示器。
2. 服务级连接建立

(1) 服务级连接

(2) 服务级连接建立前提条件:

  • RFCOMM连接已建立。

(3) 服务级连接初始化
     当RFCOMM连接建立后,需发起服务级连接初始化过程。

  • Supported features exchange,HF和AG所支持的特性交换。

  • Codec Negotiation,编码器协商。若HF支持编码器协商特性,则检查AG是否支持编码器协商特性,若支持,HF向AG发送其可用的编解码器,AG回复OK。

  • AG Indicators,AG指示器。当HF收到AG所支持的特性后,需要确认AG所支持的指示器,以及它们的顺序。
    — HF向AG发送AT+CIND=?测试命令,询问AG所支持的指示器,以及它们的顺序。AG以+CIND:应答。
    — 一旦HF得到了必要的AG指示器及其顺序信息,向AG发送AT+CIND?读取命令,获取AG所支持指示器当前的状态。AG以+CIND:应答。
    — HF向AG发送AT+CMER,使能AG指示器状态更新功能。AG以OK应答。若AG指示器状态发生了变更,则向HF发送+CIEV 结果码进行告知,HF更新指示器状态。
    — 若AG和HF都支持Call waiting 和 3-way calling,HF向AG发送AT+CHLD=?,获得其支持的call waiting和多方服务信息。

  • HF Indicators,HF指示器。
    — 若HF支持指示器特性,则查询AG是否支持HF指示器特性。若HF和AG都支持HF指示器,则HF向AG发送AT+BIND=<HF supported HF indicators> ,告知AG其支持指示器特性。AG以OK应答。
    — HF向AG发送AT+BIND=? ,询问AG所支持的HF指示器信息。若AG以+BIND响应列表+OK应答。
    — HF向AG发送AT+BIND? ,询问AG使能的HF指示器。若AG以+BIND响应列表+OK应答。

  • End of Service Level Connection,若满足以下任何一种情况,HF认为服务级连接初始化完成:
    – 当且仅当HF和AG都支持HF指示器特性时,HF收到了AG当前使能的HF指示器信息。
    – 当且仅当HF和AG都支持“Call waiting and 3-way calling”时,且HF和AG并非都支持HF指示器特性,HF收到了AG如何支持call waiting和多方服务的信息。
    – 当HF和AG并非都支持“Call waiting and 3-way calling”和HF指示器特性时,HF成功使能AG指示器状态更新。

3. 链路损坏恢复

当蓝牙链路损坏时,HF可以重新建立与AG的连接。

  • 若因HF或AG主动发起断开服务级连接(如Service connection release),HF或AG应该等待一段时间用户主动发起的命令,然后再决定是否发起重建立服务连接。
  • 若因链路监控超时而判决为服务连接断开,HF可以发起服务连接建立过程,建立一个新的服务连接。
4. 服务级连接释放

释放服务级连接时,会断开AG与HF之间的RFCOMM数据信道和已存在的音频连接,L2CAP和LL层选择性断开。可能发起服务级连接释放的情况如下:

  • 用户操作
  • AG或HF的蓝牙功能不可用
  • 正在进行的语音向AG转移语音传输(Audio Connection transfer towards the AG)。

Bluetooth技术学习笔记 ——HFP控制功能之连接管理相关推荐

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

    1. 来电 若收到来电,AG会一直给HF重复发送RING alerts,直到接通电话,或者拒接电话. HF在收到RING alerts后,开始响铃.铃声根据实际情况而定,或AG设置的铃声,或HF自带的 ...

  2. Mr.J-- HTTP学习笔记(四)-- 连接管理

    TCP 为 HTTP 提供了一条可靠的比特传输管道. 从 TCP 连接一端填入的字节会从另一端以原有的顺序. 正确地传送出来. 我的专栏:  HTTP学习笔记 Web 浏览器通过 TCP 连接与 We ...

  3. Bluetooth技术学习笔记 ——LE广播、扫描、连接参数设置

    core_v5.0 vol 2. Part E 1. 广播参数设置 (1)广播间隔说明 Advertising_Interval_Min ≤ Advertising_Interval_Max 当Adv ...

  4. Bluetooth技术学习笔记 ——GAP

    佛系学习,想学就学,不想学就不学. core_v5.0 vol 3. Part C GAP:Generic access profile,通用访问协议,定义了基本过程,包括设备发现,链路管理,配置,安 ...

  5. Bluetooth技术学习笔记 ——蓝牙核心系统架构

    参考:蓝牙协议 core_v5.0 PALs:Protocol Adaptation Layers ,协议适配层. AMPs:Alternate MAC/PHYs. L2CAP:Logical Lin ...

  6. postgresql学习笔记(三)连接管理

    使用以下三个SQL语句来取消正在运行的查询并终止连接 (1)查出活动连接列表及其进程ID 1 select * from pg_stat_activity; (2)取消连接上的活动查询 1 selec ...

  7. 小五思科技术学习笔记之SSH

    下面介绍一下相关概念: SSH的概念: SSH的英文全称为Secure Shell,SSH使用TCP的22号端口,其目的是要在非安全的网络上提供安全的远程登陆和其他安全的网络服务, 为什么要使用SSH ...

  8. SpringBoot整合第三方技术学习笔记(自用)

    SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...

  9. 三级网络技术 学习笔记

    三级网络技术 学习笔记 BGP(Border Gateway Protocol) TCP(Transmission Control Protocol) UDP(User Datagram Protoc ...

最新文章

  1. 青少年编程竞赛交流群周报(第040周)
  2. 如何让图像过渡更自然 python_如何过渡至 Python 3
  3. Docker源码分析(七):Docker Container网络 (上)
  4. python的tkinter按钮大小_如何使用python更改tkinter中按钮和帧的字体和大小?
  5. 新炬首架梁铭图:从70万字SRE神作提炼出7千字精华与君共勉
  6. nmap 扫描工具 使用方法
  7. java面试题jvm_经典面试题|讲一讲JVM的组成
  8. 会php会javascript,javascript – 只会php和js但不会java,能做手机应用开发吗?
  9. 洛谷P1880 石子合并(区间DP)(环形DP)
  10. 表情识别相关论文摘要
  11. 首席新媒体运营黎想教程:海报裂变活动怎么做?4个必备技巧
  12. one choise or a complain
  13. 关于MMO游戏服务器从零开发基本内容介绍
  14. 命令式和声明式,哪个才是你的菜
  15. 六十六条经典禅语名句
  16. Huggingface的from pretrained的下载代理服务器方法设置
  17. 风控指标 —— KS
  18. 快学Scala 读书笔记之 Chapter 2、3、4(控制结构函数,数组,映射,元组)
  19. mysql可串行化读音,Oracle与MySQL中“可串行化”的对比测试
  20. java技术:输入拼音自动提示汉字的方法

热门文章

  1. rmvb压制中高级技巧
  2. cordova for android hybrid 程序专题页面宽度大小显示异常问题
  3. 【朝花夕拾】Android自定义View篇之(十一)View的滑动,弹性滑动与自定义PagerView...
  4. (手机自适应)成人高考自考资讯网源码 织梦dedecms模板
  5. can sdo 报文
  6. uthash.h 哈希表怎么用
  7. 网易校园招聘java面试经历
  8. [转]Google Linux Cluster的系统结构分析(余一娇)
  9. linux 获取上两级目录下,Linux系统目录大小通过du命令获取实例
  10. AI顶会ACL发榜,腾讯30篇论文入选