蓝牙协议之PBAP

PBAP:Phone Book Access Profile的简称,电话本访问协议,是一种基于OBEX的上层协议,该协议可以同步手机这些具有电话本功能设备上的通讯录和通话记录等信息。

整体架构如下:

PBAP定义了两种角色

Phone Book Server Equipment (PSE):拥有电话本源数据的设备,作为服务端,比如手机。

Phone Book Client Equipment (PCE):向PSE端请求电话本信息的设备,作为客户端,比如车载蓝牙。

PSE如果是手机等带有SIM卡的设备,那其存储源数据的地方可能是手机也可能是SIM卡,因此在同步数据时需要考虑的更全面。

设备数据存储形式如下图所示:

上图中各个电话簿对象缩写说明如下表:

所以在同步获取相关数据时需要指明从哪个路径下获取对应的数据,即从手机同步还是从SIM卡中同步数据。

  • 手机路径:telecom/xxx.vcf
  • SIM卡路径:SIM1/telecom/xxx.vcf

因此根据同步的路径和同步对象的不同,我们大致可以得出四种不同的同步命令:

  1. 同步手机中的通讯录
  2. 同步SIM卡中的通讯录
  3. 同步手机中的通话记录
  4. 同步SIM卡中的通话记录

同步通讯录或者通话记录,请求格式如下;通过指定Name值表示请求通讯录或者通话记录

Name:telecom/pb.vcf、SIM1/telecom/pb.vcf、telecom/ich.vcf、SIM1/telecom/ich.vcf等等

PropertySelector:可选参数如下

Format:vCard 2.1 或者 vCard 3.0

MaxListCount:表示想获取的条目的最大值,65535表示没有限制,0表示PCE想知道指定的pb/ich/och等在PSE中的数量

示例

如下示例表示请求手机中的通讯录的数量

如下示例表示请求手机中SIM卡一个通讯录信息

如下示例表示请求手机中七个播出的通话记录信息

回复格式如下

如果PCE指定的PropertySelector PSE支持的话,必须回复;如果不支持的话,可以忽略。但是有些是强制支持的。

vCard 2.1 VERSION ,N 和 TEL.

vCard 3.0 VERSION, N, FN 和 TEL.

示例

如下示例表示回复手机中的通讯录,包含此通讯录的电话/姓/名。

通话记录回复包含三种属性

• MISSED 未接

• RECEIVED 接听

• DIALED 拨打

以2005年3月20号10点为例,回复格式如下

For vCard 2.1:

X-IRMC-CALL-DATETIME;MISSED:20050320T100000

For vCard 3.0:

X-IRMC-CALL-DATETIME;TYPE=MISSED:20050320T100000

示例

如下表示一通在2022年12月03号14:34:51拨出10000的电话

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值