HFP蓝牙免提协议:
1. 角色:
AG(audio gateway):音频网关,相当于手机
HF(hand free): 免提端,相当于耳机
2. 支持的feature:
3. SLC(service level connect establishment)服务级连接的建立
SLC就是一些AT指令的交互,交互完后,SLC就建立成功了。
前提:SLC建立前必须存在HFP基于RFCOMM的server channel的连接,有了这个连接才能在HF和AG间交互AT command。
SLC连接过程:
3.1 支持的feature交换(Supported features exchange):
a. HF发送AT+BRSF=<HF supported features>告诉AG它支持的feature
b. AG会发送+BRSF告诉HF它支持的feature
这样HF和AG都知道了对方都支持的feature。
3.2 codec协商(Codec Negotiation):
a. 如果HF支持Codec Negotiation feature,并且通过+BRSF知道了AG也支持Codec Negotiation feature
b. HF发送AT+BAC=<HF available codecs>指令告诉AG它自己可用的codec(包括msbc、cvsd) 3.3 AG指示器(AG Indicators): Indicators包括:service, call, or call setup 在检索AG支持的feature后,HF将要确定AG支持的indicators,以及这些indicators 的顺序 a. HF发送AT+CIND=?指令来检索AG支持的indicators,以及这些indicators 的顺序 b. HF发送 AT+CIND?来检索当前的indicators的状态 c. HF发送AT+CMER指令来开启 "Indicators status update",相当于打开了总开关,AG会回应OK d. 当AG中indicators的值有改变,AG将发送 +CIEV告诉HF他的indicators的值改变了 e. 如果HF和AG都支持“Call waiting and 3-way calling” feature,HF将发送AT+CHLD=?命令来检索AG是如何支持call hold and multiparty services 3.4 HF指示器(HF Indicators)a. 如果HF和AG都支持HF Indicator feature,HF将发送AT+BIND=<HFsupported HF indicators>指令通知AG它支持的Indicators,AG会回应OK
b. HF发送AT+BIND=?来获取AG支持的HF indicators,AG会发送+BIND告诉HF它支持的HF indicators,并跟着OK
c. 在HF接收到AG支持的HF indicators后,HF将发送AT+BIND?命令来确定开启哪些HF indicators。AG将用+BIND来响应,并跟着OK
d. 之后,只要HF的indicators改变,他都将发送AT+BIEV指令到AG
3.5 结束SLC(End of Service Level Connection):
标签:AG,HFP,feature,free,发送,profle,支持,indicators,HF From: https://www.cnblogs.com/zj-studyrecoding/p/17562684.html