Bluetooth Profile Specification之(HFP篇)4.1 免提控制之服务级别连接的建立

心跳包 发表于 2022/01/22 00:37:26 2022/01/22
【摘要】 下面将讲述一般如何处理服务级别连接,并具体说明了如何使用免提控制实体下面的层来建立和发布服务级别连接。1.服务级别连接的建立在用户操作或内部事件时,HF或AG可以启动服务级别连接建立过程。服务级别连接的建立需要存在一个RFCOMM连接,即在HF和AG之间的一个RFCOMM数据链路通道。HF和AG都可以启动RFCOMM连接的建立。如果AG和HF之间没有RFCOMM会话,启动设备应首先初始化RF...

下面将讲述一般如何处理服务级别连接,并具体说明了如何使用免提控制实体下面的层来建立和发布服务级别连接。

1.服务级别连接的建立

在用户操作或内部事件时,HF或AG可以启动服务级别连接建立过程。服务级别连接的建立需要存在一个RFCOMM连接,即在HF和AG之间的一个RFCOMM数据链路通道。HF和AG都可以启动RFCOMM连接的建立。如果AG和HF之间没有RFCOMM会话,启动设备应首先初始化RFCOMM。

1.1 服务级别连接初始化

当建立了RFCOMM连接后,应执行服务级别连接初始化程序。

1.1.1 支持的功能交换

首先,在初始化过程中,HF应向AG发送AT+BRSF=<HF支持的特性>命令,通知AGHF中支持的特性,并使用+BRSF结果代码检索AG中支持的特性。

1.1.2 编解码的协商

其次,在初始化过程中,如果HF支持编解码器协商功能,则应检查AG的AT+BRSF命令响应是否表示支持编解码器协商功能。如果HF和AG都支持编解码器协商功能,那么HF应该将AT+BAC=<HF可用的编解码器>命令发送给AG,以通知AG在HF中可用的编解码器。

1.1.3 AG指标

在检索到AG中支持的特征后,高频应确定AG支持哪些指标,以及支持的指标的顺序。这是因为,根据3GPP27.007规范[2],AG可能支持免提配置文件没有提供的其他指标,而且因为指标的顺序是特定于实现的。HF使用AT+CIND=?测试命令,用以检索有关所支持的指示器及其顺序的信息。

一旦高频有了必要的支持指标和排序信息,它将使用AT+CIND检索AG中指标的当前状态?正在读取的命令。

检索AG中的指标状态后,高频通过发出AT+CMER命令在AG中的“指标状态更新”功能,以OK响应。因此,当服务、呼叫或呼叫设置状态发生变化时,总部应发送具有相应指示值的+CIEV主动结果码。当呼叫和呼叫设置指示器都需要更新时,AG应先发送呼叫指示器的+CIEV未请求结果码,然后再发送呼叫设置指示器的+CIEV未请求结果码。高频应使用+CIEV代码提供的信息来更新其自己的内部和/或外部指示。

一旦启用了“指标状态更新”功能,AG应保持启用该功能,直到发出AT+CMER命令禁用该功能,或者由于任何原因放弃AG和HF之间的当前服务级别连接。

当HF在AG中启用了“指标状态更新”功能后,如果HF和AG在支持的功能位图中都设置了“呼叫等待和三路呼叫”位,则HF将发出AT+CHLD=?测试命令,以检索关于在AG中如何支持呼叫保持和多方服务的信息。高频不应发出AT+CHLD=吗?测试命令在AG或高频不支持“三向调用”功能。

1.1.4 HF指标

如果HF支持HF指示器功能,则应检查+BRSF响应,看看AG是否也支持高频指示器功能。

如果HF和AG都支持高频指标功能,则HF应将AT+BIND=<HF支持的HF指标>命令发送给AG,通知AG高频中支持的指标分配编号。AG应以正常响应。在向AG提供其支持的高频指示器后,高频应发送AT+BIND=?请求由AG支持的HF指标。AG应回复+BIND响应,列出其支持的所有高频指示器,然后确定。一旦HF收到支持的HF指标列表,高频应发送AT+BIND?命令以确定启用哪些HF指示。AG应提供一个或多个+绑定响应。AG应使用OK终止清单。从此时开始,当已启用的HF指示器的值发生变化时,HF就可以发送具有相应的HF指示器值的AT+BIEV命令。

AG可以随时使用+BIND非请求响应启用或禁用任何HF指示器的通知。

1.1.5 完成服务级别连接初始化

在以下两种情况下,HF应考虑服务水平连接完全初始化,从而建立:

  • 在HF成功检索到关于AG使用AT+BIND当前启用的HF指标的信息后?命令,仅当且仅当“HF指示器”位设置在HF支持的特征位图和AG支持的特征位图中,通过+BRSF命令交换。
  • 在HF成功检索到关于如何使用AT+CHLD命令在AG中支持呼叫保持和多方服务的信息后,当且仅当在HF和AG的SDP记录的支持功能属性中设置了“呼叫等待和三路呼叫”位。当通过+BRSF命令交换的高频或AG信号的支持特征位图中没有设置“高频指示器”位时,这种情况应适用。
  • 在HF使用AT+CMER命令成功启用“指示器状态更新”之后。这种情况下应适用于“呼叫等待和三方呼叫”位没有设置支持功能属性的高频或公司,当“高频指标”位没有设置支持的特性位图高频或公司通过+BRSF命令交换。

如果HF从AG接收到呼叫当前处于活动状态的指示,HF可以通过查询AG的响应和保持状态来确定未应答呼叫当前是否处于暂停状态。

在以下情况下,AG应考虑服务水平连接完全初始化,从而建立:

  • 后公司成功响应信息高频指标启用公司使用+绑定以及响应好,如果且仅当“高频指标”位设置在高频支持的特性位图和AG支持的特性位图通过+BRSF命令交换。
  • 之后公司已经成功响应的信息如何呼叫持有和多方服务支持公司使用+CHLD以及响应好,如果且仅当“呼叫等待和三方调用”位设置支持特性SDP属性的高频和公司。当通过+BRSF命令交换的高频或AG信号的支持特征位图中没有设置“高频指示器”位时,这种情况应适用。
  • 在AG成功用OK响应AT+CMER命令后(启用“指示器状态更新”功能)。这种情况下应当适用于“呼叫等待和三方呼叫”位不设置支持的功能位图高频或公司,当“高频指标”位没有设置在支持的特性位图高频或公司交换通过+BRSF命令。

有关AT+CIND、AT+CMER、AT+CHLD、AT+BAC和AT+BRSF命令和+CIEV主动请求的结果代码的更多信息.

1.1.6 服务级别连接图

1.2 链路丢失恢复

本节讨论从HF恢复的链路损失恢复。每当失去蓝牙链路时,HF就可以重新连接到AG上。当服务级别连接由于一端显式终止而断开时(使用部分服务级别连接版本中所述的“服务连接版本”),则两个设备(AG和HF)都应等待显式用户操作,然后再尝试重新建立服务级别连接。如果HF确定服务级别连接由于链路监控超时而断开,则HF可以执行第“服务级别连接建立”过程,以建立到AG的新服务级别连接。由于链路监控超时导致链路丢失后,HF不得假定先前连接的服务级别连接状态有效(如呼叫状态、服务状态)。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请发送邮件至:cloudbbs@huaweicloud.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。